|
|
1
9
你能做的第一件事就是让它不贪婪:
否则,
都会被消灭。 |
|
|
2
1
从 perlfaq6: What does it mean that regexes are greedy? How can I get around it? 大多数人的意思是贪婪的正则表达式尽可能匹配。从技术上讲,它实际上是量词(?,*,+,)是贪婪的,而不是整个模式;Perl喜欢局部贪婪和即时满足而不是整体贪婪。要获得相同量词的非贪婪版本,请使用(??*?,+?,{}?). 一个例子:
注意第二个替换在遇到“y”时如何停止匹配。那个*?量词有效地告诉正则表达式引擎尽快找到匹配项,并将控制权传递给下一行中的任何内容,就像您在玩“烫手山芋”一样。 |