4

我无法解决这个问题:我有一些包含“user = ABname”之类的条目的文本文件。我想搜索包含不以“AB”或“ab”开头的用户 ID 的所有行,我需要使用 Notepad++ 的搜索功能使用常规 exp 进行搜索。我试过使用

user = ^[ab]

但实际上没有按预期工作。

我应该找到所有这些:

user = CDname1
user = cdname2
user = acname3
user = xbname4

但不是

user = abname1
user = ABname2
4

4 回答 4

6

尝试使用负面展望:

user = (?![aA][bB]).*

您误解了字符类的工作原理。字符类 -[ab]仅匹配一个字符,在所有存在于[and中的字符中]。因此,它将匹配ab。我不会ab按顺序匹配。基本
[ab]相同a|b

于 2013-07-30T20:33:22.287 回答
5

您需要使用负前瞻,例如:

^user = (?![Aa][Bb])
于 2013-07-30T20:33:27.440 回答
0

尝试:^user = ([aA][^bB].*|[^a].*)

然后它会寻找user =a后跟任何不是的东西b或“任何不以a.

于 2013-07-30T20:57:15.850 回答
0

你可以使用这个:

 user = (?:[^a]|a(?!b))\S+

(不要选中不区分大小写的框,而是选中正则表达式框:)

于 2013-07-30T22:04:00.940 回答