一尘不染

正则表达式加上明星区别?

php

之间有什么区别?

(.+?)

(.*?)

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


阅读 314

收藏
2020-05-26

共1个答案

一尘不染

它们称为量词。

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

+ 前一个或多个表达式

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

?一个量词后改变行为,使这个量词“ungreedy”,意味着它会匹配尽可能少。

贪婪/贪婪的例子

例如,在字符串“ abab ”上

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

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

2020-05-26