之间有什么区别?

(.+?)




(.*?)


当我在php preg_match正则表达式中使用它时?

最佳答案

它们称为量词。

* 0个或多个前面的表达式

+前面的表达式中的1个或多个

默认情况下,量词是贪婪的,这意味着它匹配尽可能多的字符。

量词后的?更改行为以使该量词“不舒服”,这意味着它将尽可能少地匹配。

贪婪/贪婪的例子

例如,在字符串“ abab”上

a.*b将匹配“ abab”(preg_match_all将返回一个匹配项,即“ abab”)

a.*?b仅匹配开头的“ ab”(preg_match_all将返回两个匹配“ ab”)

您可以在线测试正则表达式,例如在Regexr上,see the greedy example here

07-26 05:52
查看更多