Regex 正则表达式-记事本++;-搜索包含字符串而不包含其他字符串的字符串
我无法解决这个问题: 我的文本文件中有一些条目,如“user=ABname”。 我想搜索所有包含用户id的行,而不是以“AB”或“AB”开头,我需要使用Notepad++的搜索功能使用常规exp来完成。 我试过使用Regex 正则表达式-记事本++;-搜索包含字符串而不包含其他字符串的字符串,regex,notepad++,Regex,Notepad++,我无法解决这个问题: 我的文本文件中有一些条目,如“user=ABname”。 我想搜索所有包含用户id的行,而不是以“AB”或“AB”开头,我需要使用Notepad++的搜索功能使用常规exp来完成。 我试过使用 user = ^[ab] 但实际上并没有如预期的那样起作用 我应该找到所有这些: user = CDname1 user = cdname2 user = acname3 user = xbname4 但不是 user = abname1 user = ABname2 尝试使用
user = ^[ab]
但实际上并没有如预期的那样起作用
我应该找到所有这些:
user = CDname1
user = cdname2
user = acname3
user = xbname4
但不是
user = abname1
user = ABname2
尝试使用消极前瞻:
user = (?![aA][bB]).*
您误解了角色类的工作方式。字符类-[ab]
只匹配[
和]
中存在的所有字符中的一个字符。因此,它将匹配a
或b
。我不会按顺序匹配ab
。基本上[ab]
与a | b
相同,您需要使用负前瞻,例如:
^user = (?![Aa][Bb])
请尝试:^user=([aA][^bB].[^a].*)
它查找user=
,然后:a
后跟任何非b
的内容,或者“任何不以a
开头的内容”您可以使用以下内容:
user = (?:[^a]|a(?!b))\S+
(不要选中不区分大小写的框,而是选中正则表达式框:)