我尝试匹配电子邮件地址,但前提是它们前面没有“mailto:”。我试试这个正则表达式:
"/(?<!mailto:)[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})/"
针对这个字符串:
'<a href="mailto:someemail@domain.com">EMAIL</a> ... otheremail@domain.com '
我希望只抓到'otheremail@domain.com'
,但我也收到'omeemail@domain.com'
- 看到失踪's'
。我想知道这里有什么问题。在后向断言之后我不能有一个正常的正则表达式吗?
我在 PHP 中的整个示例如下所示:
$testString = '<a href="mailto:someemail@domain.com">EMAIL</a> ... otheremail@domain.com ';
$pattern = "/(?<!mailto:)[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})/";
preg_match_all($pattern, $testString, $matches);
echo('<pre>');print_r($matches);echo('</pre>');
谢谢!