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 -、そして再び同じ。
私の先生によると、それは解決策ではありませんでした。数字または文字の PAIRS をチェックする必要があります。たとえば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 に答える