简单的正则表达式帮助

时间:2010-02-22 17:16:16

标签: php regex

如何使用Regex抓取字符串中的电子邮件?

我的字符串如下

"First Last <first.last@email.com>"

我想抓住“first.last@gmail.com”并将其存放在某处。

提前致谢!

3 个答案:

答案 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];

查看the official PHP documentation on preg_match

答案 2 :(得分:2)

^[^<]*<([^>]*)>$

其他方面,请参阅Using a regular expression to validate an email address