猿问

preg_match 返回 1 虽然它不应该

echo preg_match("/090\d{5}/","090327112");
echo preg_match("/090\d{5}/","0903271122");

这些回声中的每一个都是 1,我不明白为什么,它匹配 090 但它后面有超过 5 位数字......

还使用了它https://regex101.com/并说:

一只名叫tom的猫
浏览 118回答 1
1回答

慕田峪7331174

您在模式中缺少字符串的开头和字符串的^结尾$:echo preg_match("/^090\d{5}$/","090327112");这将使它只匹配以 开头的字符串,090然后在字符串结尾之前有任何 5 位数字。regex101 演示
随时随地看视频慕课网APP
我要回答