【发布时间】:2011-01-17 12:20:57
【问题描述】:
对于编写正则表达式的初学者来说,这似乎是一个巨大的困惑源,可能会导致隐藏的性能问题,而且看起来典型的用例是非贪婪的。
这仅仅是出于遗留原因(它最初是如何完成的,并且每个实现都复制它),还是有它的原因?
【问题讨论】:
-
谁以主观和争论的态度投票结束,愿意详细说明?
-
正则表达式默认不是贪婪的,但是它们的量词是:-)
-
在我看来真正的问题是,为什么懒惰的量词比贪婪的量词支持更差和/或使用起来更尴尬?
-
这个问题也困扰着我,从逻辑上思考,创建一个惰性正则表达式引擎比贪婪引擎更有效和容易,他们应该将默认模式设置为惰性,因为这是人们认为的默认。另外,在我使用生命的所有正则表达式中,我不记得使用贪婪匹配的时间超过 1%
标签: regex language-design regex-greedy