19

我正在尝试让 notepad++ 正则表达式在以下句子中查找“abc”和“def”的所有实例:

abc去了def。

以下语法似乎都不起作用:

  • abc|定义
  • [abc|定义]
  • (abc)|(定义)
  • (abc|定义)

注意:“[a|d]”在我测试时匹配“a”或“d”的任何实例

4

5 回答 5

24

“超过一个字符”没什么特别的,Notepad++不支持| 正则表达式中的字符。甚至“a|d”都不起作用。请参阅正则表达式帮助页面Notepad++ 6.1.1 版现在支持|.

我建议使用具有适当正则表达式实现的编辑器,例如gvimUltraEdit

于 2009-05-04T16:16:30.973 回答
11

升级到记事本++ v6。来自更新日志:“支持 PCRE(Perl 兼容正则表达式)。” 我已经验证了 | 使用 Notepad++ v6 时在正则表达式搜索中工作。

于 2012-03-29T18:33:49.463 回答
1

在字符集声明 ( […]) 中只有字符和是特殊字符,它们分别具有转义下一个字符、关闭字符集声明和标记字符范围的特殊功能(仅当未写在开头或结尾时)\。任何其他字符都被解释为普通字符。]-

|[a|d]意思也是如此,它[a|d]描述了任何字符a|或者d而不是仅仅ad类似a|d

于 2009-05-04T16:31:18.347 回答
1

我遇到了同样的问题,这就是我登陆这里的方式。由于它是notepad++的缺陷,我们可以使用Powershell来解决。在您的情况下,只需运行一个 Select-String:

`ss abc,def filename`

如果在 Unix 上,那么您当然还有其他工具,例如 grep。

我知道你想要一个记事本++的解决方案,我也是,但有时你必须凑合着做。

于 2011-03-09T21:11:46.267 回答
1

现在|应该可以工作了。
感谢 Notepad++ 中的正则表达式改进

abc|def
(abc)|(def)
于 2013-01-08T18:28:27.993 回答