正则表达式匹配除字符列表之外的所有内容

Soh*_*pta 2 .net c# regex vb.net

我想匹配包含除指定字符之外的所有内容的行[I|V|X|M|C|D|L].

new Regex(@"^(.*) is (?![I|V|X|M|C|D|L].*)$")
Run Code Online (Sandbox Code Playgroud)

应该匹配除OR列表中提到的字符之外的所有内容.

应该匹配 -

name is a
Run Code Online (Sandbox Code Playgroud)

不应该匹配 -

edition is I
Run Code Online (Sandbox Code Playgroud)

p.s*_*w.g 12

试试这种模式:

^[^IVXMCDL]*$
Run Code Online (Sandbox Code Playgroud)

这将匹配字符串的开头,后跟字符类中指定的字符之外的零个或多个字符,后跟字符串的结尾.换句话说,它不会匹配任何包含这些字符的字符串.

另请注意,根据您的使用方式,您可以使用更简单的模式:

[IVXMCDL]
Run Code Online (Sandbox Code Playgroud)

并拒绝任何匹配模式的字符串.


Son*_*nül 5

|在这种情况下,您不需要使用^[^IVXMCDL]*$

^[^IVXMCDL]*$
Run Code Online (Sandbox Code Playgroud)

正则表达式可视化

Debuggex演示