我正在尝试使用notepad ++来正则表达式在下面的句子中找到“abc”和“def”的所有实例:
abc去了def。
以下语法似乎都不起作用:
注意:“[a | d]”在我测试时匹配“a”或“d”的任何实例
答案 0 :(得分:24)
“长于一个字符”并不特别,Notepad ++不支持|正则表达式中的字符。甚至“a | d”都不起作用。请参阅the regex help page。 Notepad ++的6.1.1版现在支持|
。
答案 1 :(得分:11)
升级到Notepad ++ v6。来自更改日志:支持“PCRE(Perl兼容正则表达式)”。我已经证实了|在使用Notepad ++ v6时,可以在正则表达式搜索中使用。
答案 2 :(得分:1)
在字符集声明([…]
)中,只有字符\
,]
和-
是特殊字符,具有转义下一个字符的特殊功能,关闭字符集声明和标记字符范围(仅当不在开头或结尾写入时)。任何其他角色都被解释为普通角色。
|
中的[a|d]
也是如此,这意味着[a|d]
描述了a
,|
或d
中的任何字符,而不只是a
或d
与a|d
相同。
答案 3 :(得分:1)
我遇到了同样的问题,这就是我降落在这里的方式。由于这是一个记事本++缺陷,我们可以通过使用Powershell来做。在您的情况下,只需运行Select-String:
`ss abc,def filename`
如果在Unix上,那么你当然还有像grep这样的其他工具。
我认识到你想要一个记事本++的解决方案,我也是,但有时候你必须做。
答案 4 :(得分:1)
|现在应该工作。
感谢Notepad ++中的正则表达式改进
ABC | DEF
(ABC)|(DEF)