浅谈php正则表达式中的非贪婪模式匹配的使用
内容摘要
通常我们会这么写:
http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*)com/", $str, $matches);
print_r($matches);
结果:
http://www.baidu/.com&#
http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*)com/", $str, $matches);
print_r($matches);
结果:
http://www.baidu/.com&#
文章正文
通常我们会这么写:
http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*)com/", $str, $matches);
print_r($matches);
preg_match("/http:(.*)com/", $str, $matches);
print_r($matches);
结果:
http://www.baidu/.com?url=www.sina.com [1] => //www.baidu/.com?url=www.sina. )
非贪婪模式匹配:
http://www.baidu/.com?url=www.sina.com/";
preg_match("/http:(.*?)com/", $str, $matches);
print_r($matches);
preg_match("/http:(.*?)com/", $str, $matches);
print_r($matches);
结果:
http://www.baidu/.com [1] => //www.baidu/. )
简单的说只要在一个字符后面跟上限定个数的特殊字符,匹配就是非贪婪模式了。小伙伴们是否理解了呢?
代码注释