Notepad++ 是否支持非贪婪正则表达式?
例如对于文本:
abcxadc
我想使用模式获取零件:
a.+c
现在我得到整个字符串而不是 2 个部分。我尝试使用“?” 操作员但没有成功。
Notepad++ 是否支持非贪婪正则表达式?
例如对于文本:
abcxadc
我想使用模式获取零件:
a.+c
现在我得到整个字符串而不是 2 个部分。我尝试使用“?” 操作员但没有成功。
更新: 从 5.9 版(构建时间 2011 年 3 月 31 日)开始,Notepad++ 支持非贪婪正则表达式(新的 scintilla 2.5)。
我用 Notepad++ V6.1.5 做了以下事情(它现在有 PCRE 正则表达式引擎):
a.+?c
并得到 2 个部分 (abc
和adc
)
现在可以进行惰性(非贪婪)搜索。
在清理可有可无部分的日志文件时,我在使用带有“全部替换”和空的“替换为”模式的非贪婪正则表达式时遇到了麻烦。我的解决方案是让模式匹配整行而不改变行的其余部分。
示例:删除行首直到第一个分号:而不是^.+?:
-> 现在使用
^.+?:(.*)$
->\1
并按“全部替换”