从字符串中获取电子邮件 - 正则表达式语法+ preg_match_all

hom*_*rrr 9 php regex preg-match-all preg-match

我正试图从字符串中获取电子邮件.

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

我得到的错误是:分隔符不能是字母数字或反斜杠

http://www.regular-expressions.info/email.html获取正则表达式语法

我该怎么办?提前致谢!

Win*_*ton 18

像这样

$pattern = '/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i';
Run Code Online (Sandbox Code Playgroud)

或者更小的版本:)

$pattern = '/[a-z\d._%+-]+@[a-z\d.-]+\.[a-z]{2,4}\b/i';
Run Code Online (Sandbox Code Playgroud)