$url = 'http://12eee.com/notify/xxxx/ingg';
dump($url);
preg_match('/https?:\/\/(.*?)\/(.*?)/', $url, $ret);
dump($ret);
这样打印出来的结果为什么为空呢
string(33) "http://12eee.com/notify/xxxx/ingg"
array(3) {
[0] => string(17) "http://12eee.com/"
[1] => string(9) "12eee.com"
[2] => string(0) ""
}
为什么会触发不匹配,有些情况下又会匹配
正则第二个
(.*?)
是惰性匹配(尽可能少匹配),以至于少至0字符。。换成
(.+?)
,少至1字符换成
(.*)
,贪婪匹配(尽可能多),以至于匹配到结尾