我在这里发现了很多关于如何从结果中排除子字符串的问题,但是我想排除完全匹配的行,并且根本不知道该怎么做。
使用下面的测试数据,我如何匹配11
和111
以外的所有内容?
0
1
00
01
10
11
000
001
010
011
100
101
110
111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
我已经尝试过各种方法,例如:
^((?!11|111).)*$
但这不包括子字符串匹配,而我又想排除完全匹配。
正则表达式有可能吗?如果是这样,如何排除精确匹配?
最佳答案
您需要将行尾包含在否定的前瞻中:
^(?!(11|111)$).*$
See live demo(使用您的数据)
不包括行尾,您只是断言输入不是以
11
或111
开头,而您要断言的是整个输入(开始到结尾)不是11
或111
。关于regex - 如何从正则表达式中的匹配项中排除确切的字符串(而不是子字符串)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25950566/