如何将Notepad ++中的c风格块注释与正则表达式相匹配?

时间:2011-02-25 01:50:30

标签: regex notepad++

为了匹配多行注释,我找到了以下正则表达式:

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

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

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

2 个答案:

答案 0 :(得分:5)

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

然而,Notepad ++现在拥有更强大的正则表达式引擎 - 从6.0版本开始它支持完整的pcre正则表达式。这意味着问题中给出的正则表达式正常。因此,我认为正确的答案现在只是“打开搜索菜单,输入你的正则表达式,选择正则表达式进行搜索模式,然后点击搜索”。

答案 1 :(得分:3)

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

This page说“在Scintilla中,正则表达式搜索每行都行,”不幸的是,我认为这是没有希望的。

- 编辑 -

进一步挖掘this记事本++论坛帖子,毕竟提供了一些希望。具体来说,它说notepad ++的PythonScript插件支持多行正则表达式。