所以我前几天刚学会了PHP中的preg_match,现在我正在尝试preg_match一个车牌。它应该检查:
9a-4e-yy
,以及-
之前和之后的数字或字母,然后是-
再次和更多的数字或字母。但它必须是彼此相邻的2个数字或字母,而不是更多。
现在我有了这段代码:
return preg_match("/^([0-9])"."([0-9])"."(\-([0-9])"."([0-9]))"."(\-([0-9])"."([0-9]))$/", $kenteken );
但这只会检查数字。
我希望你们也可以帮我把信件用到字母上。
提前致谢!
答案 0 :(得分:6)
[0-9]
仅匹配数字。如果您想匹配数字或字母,则需要[0-9A-Za-z]
。
完整的正则表达式可以执行您想要的操作^[0-9A-Za-z]{2}(-[0-9A-Za-z]{2}){2}$
答案 1 :(得分:3)
你可能想要:
preg_match('/^[0-9a-z]{2}-[0-9a-z]{2}-[0-9a-z]{2}$/i', $kenteken);
[0-9a-z]
表示任何数字“0”到“9”或任何(小写)字母“a”到“z”。 {2}
表示恰好匹配2个字符。最后的/i
表示不区分大小写的匹配,因此它也匹配大写字母。