在正则表达式的上下文中,“懒惰”和“贪婪”是什么意思?

以一种可以理解的方式,这两个术语是什么

贪婪的人会尽可能多地消费。从…起http://www.regular-expressions.info/repeat.html 我们看到了尝试将HTML标记与匹配的示例+&燃气轮机。假设您有以下内容:

<em>你好,世界&lt/em>

您可能会认为&lt+&燃气轮机(表示任何非换行字符+表示一个或多个)仅与匹配<em&gt和&lt/em&gt,实际上它会非常贪婪,从第一个&lt到最后一个&gt。这意味着它将匹配<em>你好,世界&lt/em&gt而不是你想要的

将其设置为惰性(<+?>)将防止出现这种情况。通过在+之后添加,我们告诉它重复的次数越少越好,因此第一个&gt它遇到了,这是我们想要停止匹配的地方

我鼓励您下载RegExr,这是一个很好的工具,可以帮助您探索正则表达式——我一直都在使用它

发表评论