如何匹配单词的所有拼写,除了一个?

How to match all spellings of the word except one?

假设我想匹配单词 abc 的所有拼写,但一个 - abc 除外。所以在以下文本中: abc word abC 3226 aBc aBC Abc AbC ABc ABC 它会匹配所有这些 abc,除了第一个 - abc 而不是文本中的其他字符。想不出怎么写。

我在notepad++中尝试了(?i)(abc)(?!abc)(?i)(abc)^(?!abc)^(?!abc)(?i)(abc)^(?!abc)(?i:abc)\b(?!abc)(?i:abc)\b,none这些在文本上的工作以上:

您没有选中 大小写匹配 选项,这使得您的正则表达式以不区分大小写的方式匹配。

选中匹配大小写选项并使用

\b(?!abc)(?i:abc)\b

或者,

\b(?!abc)(?i)abc\b

或者,不要理会 NPP 设置并使用第二个内联修饰符或修饰符组来覆盖不区分大小写的选项:

\b(?!(?-i)abc)(?i)abc\b
\b(?!(?-i:abc))(?i:abc)\b

regex demo

因此,(?i) 打开不区分大小写((?i:...) 为一组),(?-i) 关闭不区分大小写((?-i:...) 为一组组)。