我正在尝试让 notepad++ 正则表达式在以下句子中查找“abc”和“def”的所有实例:
abc去了def。
以下语法似乎都不起作用:
- abc|定义
- [abc|定义]
- (abc)|(定义)
- (abc|定义)
注意:“[a|d]”在我测试时匹配“a”或“d”的任何实例
升级到记事本++ v6。来自更新日志:“支持 PCRE(Perl 兼容正则表达式)。” 我已经验证了 | 使用 Notepad++ v6 时在正则表达式搜索中工作。
在字符集声明 ( […]
) 中只有字符和是特殊字符,它们分别具有转义下一个字符、关闭字符集声明和标记字符范围的特殊功能(仅当未写在开头或结尾时)\
。任何其他字符都被解释为普通字符。]
-
您|
的[a|d]
意思也是如此,它[a|d]
描述了任何字符a
,|
或者d
而不是仅仅a
或d
类似a|d
。
我遇到了同样的问题,这就是我登陆这里的方式。由于它是notepad++的缺陷,我们可以使用Powershell来解决。在您的情况下,只需运行一个 Select-String:
`ss abc,def filename`
如果在 Unix 上,那么您当然还有其他工具,例如 grep。
我知道你想要一个记事本++的解决方案,我也是,但有时你必须凑合着做。
现在|
应该可以工作了。
感谢 Notepad++ 中的正则表达式改进
abc|def
(abc)|(def)