从字符串中获取电子邮件-regex语法+preg_Match_all

2022-03-29 00:00:00 regex php preg-match preg-match-all

我正在尝试从字符串中提取电子邮件:

$string = "bla bla pickachu@domain.com MIME-Version: balbasur@domain.com bla bla bla";
$matches = array();
$pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}';
preg_match_all($pattern,$string,$matches);
print_r($matches);

我收到的错误是:

分隔符不得为字母数字

我从这里获得了regex语法http://www.regular-expressions.info/email.html


解决方案

这样

$pattern = '/[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}/i';

或更低版本:)

$pattern = '/[a-zd._%+-]+@[a-zd.-]+.[a-z]{2,4}/i';

相关文章