2011-02-25 75 views
4

随着意图匹配多意见,我发现下面的正则表达式:如何使Notepad ++中的c样式块注释与正则表达式匹配?

(?:/\*(?:(?:[^*]|\*(?!/))*)\*/) 

它被描述here。它并不完美(它匹配字符串中的注释),但它对我的目的来说足够好。但是,它在Notepad ++中不起作用。我尝试了逃避不同的事情,但没有更好的结果。

有谁知道如何使这个正则表达式在Notepad ++中工作?

+0

我认为问题在于Notepad ++不适用于多行的正则表达式,这就是你根据链接问题所要做的。它也不支持先行表达式。使用更好的编辑器:) – 2011-02-25 08:37:22

+0

哦......有什么建议? :)记事本++很好,因为它是轻量级和免费的... – Greg 2011-02-25 09:50:15

+0

你到底想做什么?看比赛,替换文字还是什么? – 2011-02-26 05:20:09

回答

3

Notepadd ++使用scintilla的正则表达式引擎(根据其联机帮助)。

This page说“在闪烁体中,正则表达式搜索是按行进行的,”所以很不幸,我认为这是无望的。

- 编辑 -

再往挖翻起来this记事本++论坛上发帖,它提供了一些希望毕竟。具体来说,它说记事本++的PythonScript插件支持多行正则表达式。

+1

只是想我会补充说:因为这个帖子/问题被添加到这个网站,记事本++更新,以支持这些事情。事实上,我认为正则表达式可能没有任何特别的工作。 – Jasper 2013-07-19 03:12:43

5

当问这个问题时,正确的答案是你不能在Notepad ++中做到这一点,因为它的正则表达式不支持匹配多行和前向的正则表达式(在给定的正则表达式中它们都是必不可少的) 。

但是,Notepad ++现在拥有更强大的正则表达式引擎 - 自6.0版以来,它支持完整的正则表达式regexes。这意味着你的正则表达式就像问题中提供的一样。因此,我相信正确的答案现在只是“打开搜索菜单,输入你的正则表达式,为搜索模式选择正则表达式,然后单击搜索”。

+0

如果你需要做很多事情,我强烈推荐[EditPad Pro](http://www.editpadpro.com/)。正则表达式支持比我曾经使用过的任何其他编辑器都要好。 – DaveRandom 2013-07-19 13:50:42