如何使用Regex抓取字符串中的电子邮件?
我的字符串如下
"First Last <first.last@email.com>"
我想抓住“first.last@gmail.com”并将其存放在某处。
提前致谢!
答案 0 :(得分:3)
没有正则表达式(可能更快):
$string = "First Last <first.last@email.com>";
echo substr($string, strpos($string, '<') +1, -1);
或
echo trim(strstr("First Last <first.last@email.com>", '<'), '<>');
都会给出
first.last@email.com
如果您需要验证最终结果,请使用
filter_var($eMailString, FILTER_VALIDATE_EMAIL);
答案 1 :(得分:2)
在你的例子中,我会做类似的事情:
preg_match('/<([^>]+)>/', "First Last <first.last@email.com>", $matches);
$email = $matches[1];
答案 2 :(得分:2)
^[^<]*<([^>]*)>$
其他方面,请参阅Using a regular expression to validate an email address