22

次の基準で文字列に一致する正規表現を作成しようとしています

  • 長さ8
  • 最初の文字は文字azまたはAZでなければなりません
  • 残りの7は0から9までの数字でなければなりません

  • a5554444
  • B9999999
  • c0999999

これは私が今まで持っているものです

^[0-9]{8}$

最初の文字をチェックするために何が欠けていますか?私は試した

^[a-zA-Z][0-9]{8}$

しかし、それは機能していません。

4

1 に答える 1

62

私はこれがあなたが望むものだと思います:

^[a-zA-Z][0-9]{7}$

{...}メタ文字は、最も前のパターン(この場合は[0-9])にのみ一致します。正規表現の解釈は次のとおりです。

  1. 文字列の先頭から開始します(^)
  2. 最初のスポットの任意の文字azまたはAZ([a-zA-Z])に1回だけ一致する
  3. 2番目のスポット([0-9])から始まる任意の文字0-9に一致します
  4. [0-9]のステップ3で述べた前述のパターンは、正確に7回存在する必要があります({7})

元の質問に従って{8}を入力すると、文字列の長さは合計9と想定されます。最初の文字は大文字と小文字が区別されず、残りの8文字は数字です。

于 2012-10-05T00:35:42.677 に答える