PHP preg_match_all返回空

时间:2016-04-21 08:56:50

标签: php preg-match

这是我的代码:

$str = "sdf13631389945fssx6221363138994523213af";
preg_match_all("/^1\d{10}$/",$str,$result);
var_dump($result);

我想要匹配手机号码。 13631389945但不想匹配这款手机号码。在6221363138994523213,所以我写这个,但它返回空,你可以帮我写一个正确的模式,非常感谢!

1 个答案:

答案 0 :(得分:1)

它没有返回结果,因为整个字符串与表达式不匹配。如果您只想要匹配部分字符串,那么请删除^$

preg_match_all("/1\d{10}/",$str,$result);

要与字符串第二部分中的电话号码不匹配,您必须解释究竟是什么使它成为无效匹配。如果它是周围的数字,那么使用:

(?:^|[^\d])(1\d{10})(?:$|[^\d])