求解正则表达式
<?phppreg_match('@^(?:http://)?([^/]+)@i',
"http://www.php.net/index.html", $matches);
print_r($matches);
?>
运行结果为:
Array ( => http://www.php.net => www.php.net ).
为什么呢?看不懂这个正则 ^(?:http://)
以 http:// 开头(?:)表示非获取
后面?表示匹配0或者1次 表示不是http://开头的也可以
([^/]+) 表示捕获 非 '/'的所有串
那不就是你那结果 前后两个@ 没有实际意义,就是一个分界符。
页:
[1]