regex - notepad++ - 搜索包含一个字符串但不包含另一个字符串的字符串

标签 regex notepad++

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

user = ^[ab]

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

我应该找到所有这些:
user = CDname1
user = cdname2
user = acname3
user = xbname4

但不是
user = abname1
user = ABname2

最佳答案

尝试使用负面展望:

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

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

关于regex - notepad++ - 搜索包含一个字符串但不包含另一个字符串的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956789/

相关文章:

使用 RegEx 列出的 Python 字符串

python - re.scanner 只搜索字符串的开头

emacs - 如何调用编辑器到特定的行和相对于该行的字符位置?

console - Notepad++更改控制台样式

sql - 使用RegEx在Notepad++中一键执行多个查找/替换命令

c - 在 notepad++ 和 Sublime Text 3 中打开一个简单的 .exe 文件会产生非常不同的结果

python - 如何提取用引号括起来的元素列表,以 <> 为界并以逗号分隔 - python,正则表达式?

mysql - 使用 'regexp' 的相同查询在 mysql 中给出不同的结果

javascript - 在 javascript 中执行没有 while 循环条件的组提取?

replace - Notepad++,在突出显示的文本周围添加括号的快捷方式