0

REGEX を使用してデータベース内のナンバー プレートを照合しようとしているので、タイプを設定できるので、今後のクエリで REGEX を使用する必要はありません。

日付のない/アイリッシュ プレートに一致する 2 つの表現があります。日付のないプレートからアイルランドのプレートを分離する必要があります。

アイルランドのプレートには I または Z の文字が含まれている必要があります。日付のないプレートには I または Z を含めることはできません。

これらは、dateless と irish の両方に一致する 2 つの表現です。

REGEXP '^[A-Z]{1,3}[0-9]{1,4}$'
REGEXP '^[0-9]{1,4}[A-Z]{1,3}$'

私が抱えている問題は、IZ を除外することです。[A-HJ-Y] を実行できますが、クロスオーバーが発生します。

I と Z を要求するように上記の式を変更し、次に I と Z を除外する別の式のセットを変更するにはどうすればよいでしょうか。

どうもありがとう

4

1 に答える 1

1

アイルランドのプレートは次のいずれかです。

  • ^([IZ][A-Z]{0,2}|[A-Z]([IZ][A-Z]?|[A-Z][IZ]))[0-9]{1,4}$
  • ^[0-9]{1,4}([IZ][A-Z]{0,2}|[A-Z]([IZ][A-Z]?|[A-Z][IZ]))$

5 文字まで許容できる場合は、次のように簡略化できます。

  • ^[A-Z]{0,2}[IZ][A-Z]{0,2}[0-9]{1,4}$
  • ^[0-9]{1,4}[A-Z]{0,2}[IZ][A-Z]{0,2}$

日付のないプレートは次のいずれかです。

  • ^[A-HJ-Y]{1,3}[0-9]{1,4}$
  • ^[0-9]{1,4}[A-HJ-Y]{1,3}$
于 2013-04-25T13:06:19.613 に答える