这是我的代码:
$str = "sdf13631389945fssx6221363138994523213af";
preg_match_all("/^1\d{10}$/",$str,$result);
var_dump($result);
我想要匹配手机号码。 13631389945但不想匹配这款手机号码。在6221363138994523213,所以我写这个,但它返回空,你可以帮我写一个正确的模式,非常感谢!
答案 0 :(得分:1)
它没有返回结果,因为整个字符串与表达式不匹配。如果您只想要匹配部分字符串,那么请删除^
和$
。
preg_match_all("/1\d{10}/",$str,$result);
要与字符串第二部分中的电话号码不匹配,您必须解释究竟是什么使它成为无效匹配。如果它是周围的数字,那么使用:
(?:^|[^\d])(1\d{10})(?:$|[^\d])