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

最佳答案

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

<em>Hello World</em>

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

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

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

关于regex - 'lazy' 和 'greedy' 在正则表达式的上下文中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2301285/

10-13 04:31