我有这个正则表达式,它对 url 正常工作,但是当我使用包含 @ 的 url 时,它在 @ 之后不显示任何内容。我如何编辑正则表达式以显示完整的网址
<?php
$regex = "/(https?\:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(\/+[a-z0-9_.\:\;-]*)*(\?[\&\%\|\+a-z0-9_=,\.\:\;-]*)?([\&\%\|\+&a-z0-9_=,\:\;\.-]*)([\!\#\/\&\%\|\+a-z0-9_=,\:\;\.-]*)}*/i";
$url = "http://www.flickr.com/photos/16506140@N05/8376411748/in/photostream/";
preg_match_all($regex, $url, $matches);
echo'<pre>';
print_r($matches);
echo '<pre>';
?>