我无法解决这个问题: 我有一些文本文件,其中包含一些条目,如“user = ABname”。 我想搜索包含不以“AB”或“ab”开头的用户ID的所有行,我需要使用Notepad ++的搜索功能使用常规exp。 我尝试过使用
user = ^[ab]
但实际上并没有按预期工作。
我应该找到所有这些:
user = CDname1
user = cdname2
user = acname3
user = xbname4
但不是
user = abname1
user = ABname2
答案 0 :(得分:6)
尝试使用否定前瞻:
user = (?![aA][bB]).*
您误解了角色类的工作原理。字符类 - [ab]
只匹配[
和]
中的所有字符中的一个字符。因此,它会匹配a
或b
。我不能按顺序匹配ab
。基本上
[ab]
与a|b
相同。
答案 1 :(得分:5)
您需要使用否定前瞻,例如:
^user = (?![Aa][Bb])
答案 2 :(得分:0)
尝试:^user = ([aA][^bB].*|[^a].*)
它会查找user =
,然后:a
后跟任何不是b
的内容或“不以a
开头的任何内容。
答案 3 :(得分:0)
您可以使用:
user = (?:[^a]|a(?!b))\S+
(不要检查不区分大小写的框,但检查正则表达式框:)