0

不久前,我制作了一个 preg_match 代码来检查车牌。

return preg_match("/^([0-9A-Za-z])"."([0-9A-Za-z])"."(\-([0-9A-Za-z])"."([0-9A-Za-z]))"."(\-([0-9A-Za-z])"."([0-9A-Za-z]))$/", $kenteken );

它像这样检查盘子:u0-99-e5数字或字母,a -,然后再次相同。
现在,根据我的老师的说法,这不是解决方案。它必须检查数字或字母的对。举个99-oo-ii例子。

如何更改代码以便检查这些代码?

提前致谢!

4

2 回答 2

1

要匹配您已经捕获的内容,请使用反向引用。反向引用是\1,\2等等\3,其中数字是您引用的捕获子模式的位置。

例如,/^([0-9A-Za-z])\1/将匹配任何数字或字母,后跟相同的数字或字母。

于 2012-06-27T14:54:40.460 回答
0

你不需要连接你的字符串,

return preg_match("/([0-9A-Za-z])\1-([0-9A-Za-z])\2-([0-9A-Za-z])\3/", $kenteken);
于 2012-06-27T15:00:46.600 回答