首页 > 解决方案 > 懒惰的“??”有没有有意义的用法?在正则表达式?

问题描述

根据量词的惰性,他们希望尽可能少地匹配。在我看来,量词??没有意义。因为如果previuos成功,总是有不匹配量化部分的选项。因此它是多余的。

例如apples??

将始终匹配apple,并且apples仅在最后没有apple的部分上匹配s

标签: regexcomputer-sciencepcre

解决方案


这是一个产生不同结果?的情况。??

要匹配的文本:a

使用a?,将有 2 个匹配项 -"a"""

使用,a??将有 3 个匹配项 -""和。它还在开始时匹配空字符串,因为它尝试尽可能少地匹配。"a"""

存在的另一个原因??是所有其他量词都有一个惰性对应物。?有一个懒惰的对应物是有意义的,也是一个量词。


推荐阅读