从@符号PHP Regex获取整个电子邮件地址

时间:2014-01-14 17:27:50

标签: php regex

这种方法的问题是我在.

之后没有得到任何东西
$string = "this is a test.email@test.com email address";

preg_match('/\b(\w*@\w*)\b/', $string, $matches);

$matches的结果是

Array
(
    [0] => email@test

)

是否可以更改正则表达式以忽略它们?

2 个答案:

答案 0 :(得分:2)

尝试使用字符类([...])。您也可能想要使用一个或多个量词(+):

preg_match('/\b([\w.]+@[\w.]+)\b/', $string, $matches);

您可以添加您想要匹配的任何其他字符(例如-+)。

答案 1 :(得分:0)

.不是\w的一部分。将您的RegEx更改为:\b([\w.-]+@[\w.-]+)\b