一段话,如:
@abc falieurisdlfalsjdfj Email: abc@abc.cn alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja
上面这段话中 读取@abc 和 @abc.uk 和@123 而不要取出 abc@abc.cn中的 @abc.cn 就像微博中一样 @符号后面,逗号或者句号前面的内容取出来,但是不要涉及到邮箱中的@后面的东西。
------解决方案--------------------
- PHP code
$s = <<< TXT @abc falieurisdlfalsjdfj Email: abc@abc.cn alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja TXT; preg_match_all("/(?:^|\s)(@[\w.]+)/is", $s, $r); print_r($r[1]);
------解决方案--------------------
田心老师的没有考虑到 abc@abc.cn这种情况。
刚学习正则,来个。
- PHP code
<?php $str = "@abc falieurisdlfalsjdfj Email: abc@abc.cn alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja"; preg_match_all("/(^|\s *)@([\w.]+)/is",$str,$arr); print_r($arr);