通常情况下. 除非我使用 ( ?s ) 标志指定引擎,否则不匹配换行符。我使用 Perl 风格的正则表达式模式在我的编辑器 (UltraEdit v14.10) 正则表达式引擎上尝试了这个正则表达式:
(?s).*i
搜索文本包含多行,每行包含许多“i”字符。
我希望上面的正则表达式意味着:搜索尽可能多的字符(因为使用' ?s ' .现在匹配包括换行符在内的任何内容)(因为对 * 的贪婪)直到到达字符'i'。
这应该意味着“从最后一句中的第一个字符到最后一个'i' ”(贪婪应该到达最后一句,对吧?)。
但是通过 UltraEdit 的测试,结果是“从第一个包含 i 的句子中的第一个字符到最后一个 'i'”。这个结果正确吗?我对我的 reg 表达式做出了错误的解释吗?
例如给定这个文本
aaa
bbb
aiaiaiaiaa
bbbicicid
它是
aaa
bbb
aiaiaiai
匹配。但我期望:
aaa
bbb
aiaiaiaiaa
bbbicici