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

2023-11-22

这两个术语是什么?


贪婪的人会尽可能地消耗。从http://www.regular-expressions.info/repeat.html我们看到尝试将 HTML 标签与<.+>。假设您有以下内容:

<em>Hello World</em>

你可能会认为<.+> (. means 任何非换行符 and + means 一个或多个) 只会匹配<em></em>,实际上它会非常贪婪,并且从第一个开始<到最后>。这意味着它将匹配<em>Hello World</em>而不是你想要的。

让它变得懒惰(<.+?>)将阻止这种情况。通过添加?之后+,我们告诉它重复尽可能少的次数,所以第一个>它遇到的是我们想要停止匹配的地方。

我鼓励您下载RegExr,一个很棒的工具,可以帮助您探索正则表达式 - 我一直使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐