问答详情
源自:3-4 贪婪模式与懒惰模式

正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。

那么,如果正则表达式出现了

*?
*+
?+
+?

这四个有意义么,有的话分别是懒惰、贪婪、懒惰、懒惰吗

提问者:三只松鼠 2016-01-14 22:33

个回答

  • 三只松鼠
    2016-01-14 22:51:19

    借用别人代码试验发现,

    $subject = "abcddef";
    $pattern = '/a(.*?)d/';
    preg_match($pattern, $subject, $matches);
    print_r($matches);

    *?和+?都是懒惰模式,输出是Array (    [0] => abcd    [1] => bc );*+和?+这两种输出是Array ( )