Notepad++ 6 中的正则表达式

Notepad++ 6 中的正则表达式

所以,Notepad++已更新至v6.0. 他们的新功能之一是PCRE (Perl Compatible Regular Expressions)

我尝试使用这个新功能来查找和替换文件中的内容。我尝试了正则表达式:

{\$([a-zA-Z_]*)}

它对我大喊:“无效的正则表达式”。

我在其他程序中测试了这个正则表达式(比如我的主要 IDE,吉尼),并且运行良好。

为什么这在 Notepad++ 6.0 中不起作用?

答案1

你必须{}像这样逃避:

\{\$([a-zA-Z_]*)\}

我假设 Geany 和 rubular.com 不使用 PCRE(或者他们使用不同)。请注意,{}通常用于表示量词。

在没有检查源代码的情况下,我只能假设 Notepad++ 在将正则表达式传递给 PCRE 库之前会显得太聪明。如果我在 PHP 中运行以下代码:

echo preg_match( '{\$([a-zA-Z_]*)}', '{$something}' );

它会1立即打印。无需转义任何内容。

抱歉我不能解释它 :(

相关内容