排除包含要匹配的字符串的指定字符串列表
即
匹配任何包含 SON 的字符串 - 即 SON、SONAR、JSON、SON-O-GRAM、_SON
同时排除 GRANDSON 和 SONY 以及列表中的任何其他字符串
我无法同时实现两者。是否可以以某种方式优先考虑排除组而不是匹配模式?
我正在寻找适用于 NP++ 和类似的 ctrl+f 搜索的简单解决方案。
实现此目的的快速方法是使用控制动词 (*SKIP) (*FAIL)。
首先,您将提供您不想匹配的内容作为要匹配的内容,并告诉系统跳过这些内容,但在文本的其余部分中进行匹配。
根据您的示例,您最终会得到这样的模式:
在 Notepad++ 中粘贴,不带开始和结束分隔符,即 /
/\b(?:GRANDSON|SONY)\b(*SKIP)(*FAIL)|\S*SON\S*/
\SSON\S :含义匹配任何非空格字符0次或多次,然后字母SON和任何非空格字符再次匹配0次或多次。
将其更改为 [a-z_]SON[a-z_] 等,如果您想具体说明要匹配的内容,即每一侧的字母或下划线
在 Notepad++ 中,测试前请确保已选择“正则表达式”搜索模式。