1

入力が有効なフライトコードかどうかを確認するために使用する正規表現を作成しようとしています。AA の有効なフライトコードは、2 文字と 3 桁または 4 桁の数字のように見えます。数字をゼロで始めることは可能ですが、少なくとも 1 桁は 1 ~ 9 でなければなりません。有効なコードは、DE1258、DE012、SK4589、fr0020、us0001 などです。

次の解決策を試しましたが、うまくいきません。

Regex RegexObj = new Regex(@"^[a-zA-Z]{2}$\d\d\d\d");
4

1 に答える 1

2

次の正規表現はあなたが望むことをします

^[a-zA-Z]{2}(?!0{4})\d{3,4}$

これが機能する理由は、(!?0{4}) が否定的な先読みであるためです。正規表現は、部分表現が一致しない場合にのみ、このポイントを超えて続行します。

于 2013-04-11T09:57:46.487 に答える