Notepad ++是否支持非贪婪的正则表达式?
例如文字:
abcxadc
我想使用模式获取零件:
a.+c
现在我得到整个字符串而不是2个部分。我试过用'?'操作员但没有成功。
答案 0 :(得分:55)
更新: 从版本5.9(构建时间2011年3月31日)开始,Notepad ++支持非贪婪的正则表达式(新的scintilla 2.5)。
答案 1 :(得分:46)
我使用Notepad ++ V6.1.5(它现在有PCRE正则表达式引擎)执行了以下操作:
一个。+ 2 C
并获得2部分(abc
和adc
)
现在可以进行懒惰(非贪婪)搜索。
答案 2 :(得分:42)
Notepad ++不支持惰性?
修饰符。相反,您可以指定不想要的内容:
a[^c]+c
其中指定:匹配a
,后跟一个或多个非c
的字符,后跟c
。这将匹配abc
和adc
。
答案 3 :(得分:0)
在清理可分配零件的日志文件时,我在使用带有“全部替换”和空的“替换为”模式的非贪婪正则表达式时遇到了麻烦。 我的解决方案是使模式匹配整行而不更改其余行。
示例:删除直到第一个分号的所有行首:现在使用^.+?:
-> 代替
^.+?:(.*)$
-> \1
,然后按“全部替换”