浅谈php正则表达式中的非贪婪模式匹配的使用

  通常我们会这么写:

  

复制代码 代码如下:

  $str = "http://www.baidu/.com?url=www.sina.com/";

  preg_match("/http:(.*)com/", $str, $matches);

  print_r($matches);

  结果:

  

复制代码 代码如下:

  Array ( [0] => http://www.baidu/.com?url=www.sina.com [1] => //www.baidu/.com?url=www.sina. )

  非贪婪模式匹配:

  

复制代码 代码如下:

  $str = "http://www.baidu/.com?url=www.sina.com/";

  preg_match("/http:(.*?)com/", $str, $matches);

  print_r($matches);

  结果:

  

复制代码 代码如下:

  Array ( [0] => http://www.baidu/.com [1] => //www.baidu/. )

  简单的说只要在一个字符后面跟上限定个数的特殊字符,匹配就是非贪婪模式了。小伙伴们是否理解了呢?