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

Gre*_*reg 5 regex notepad++

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

  (?:/\*(?:(?:[^*]|\*(?!/))*)\*/)
Run Code Online (Sandbox Code Playgroud)

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

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

Jas*_*per 6

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

但是,Notepad ++现在拥有更强大的正则表达式引擎 - 从版本6.0开始它支持完整的pcre正则表达式.这意味着问题中给出的正则表达式正常.因此,我相信正确的答案现在只是"打开搜索菜单,输入正则表达式,选择正则表达式进行搜索模式并单击搜索".


Pau*_*ulF 4

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

这个页面说“在 Scintilla 中,正则表达式搜索是逐行进行的”,所以不幸的是我认为这是没有希望的。

- 编辑 -

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