1 是指以非一个以上“:”开头,并且紧跟其后为"://"的所有字符;如:http://XXX;
2 是指以0个以上非\n开头,紧跟为"/"及非"/"的一个以上的字符串,“/”要求是0次或1次结尾。如:abc/dsafdsaf/或dsafdsaf/fdsafdsaf;
3 是指以非一个以上":"开头,紧跟为":"和非一个以上"@"然后紧跟为0-1个"@"和非"\n"结尾的所有字符串.如:asfdsaf:safdsafdsa@afdasfsaf或ffdsafdsa:afds24$#问一下唠叨兄吧,他可是这方面的高手。
2 是指以0个以上非\n开头,紧跟为"/"及非"/"的一个以上的字符串,“/”要求是0次或1次结尾。如:abc/dsafdsaf/或dsafdsaf/fdsafdsaf;
3 是指以非一个以上":"开头,紧跟为":"和非一个以上"@"然后紧跟为0-1个"@"和非"\n"结尾的所有字符串.如:asfdsaf:safdsafdsa@afdasfsaf或ffdsafdsa:afds24$#问一下唠叨兄吧,他可是这方面的高手。
2、页面名和参数部分
3、取得邮件地址例:
<?php
$p = array(
'|^([^:]+)://|',
'|^(.*)/([^/]+)/?$|',
'|^([^:]+):([^@]+)@?(.*)$|'
);$s = "http://expert.csdn.net/Expert/topic/1979/1979083.xml?temp=.6324427";echo "<pre>";
for($i=0;$i<count($p);$i++) {
preg_match($p[$i],$s,$regs);
print_r($regs);
}
?>
结果
Array
(
[0] => http://
[1] => http
)
协议类型为:http
Array
(
[0] => http://expert.csdn.net/Expert/topic/1979/1979083.xml?temp=.6324427
[1] => http://expert.csdn.net/Expert/topic/1979
[2] => 1979083.xml?temp=.6324427
)
页面为:1979083.xml?temp=.6324427
Array
(
[0] => http://expert.csdn.net/Expert/topic/1979/1979083.xml?temp=.6324427
[1] => http
[2] => //expert.csdn.net/Expert/topic/1979/1979083.xml?temp=.6324427
[3] =>
)
没有匹配到,不是合法的邮件地址