任意の 2 文字とそれに続く 6 つの整数の任意の組み合わせに一致する適切な正規表現をサポートしてください。
These would be valid:
RJ123456
PY654321
DD321234
These would not
DDD12345
12DDD123
任意の 2 文字とそれに続く 6 つの整数の任意の組み合わせに一致する適切な正規表現をサポートしてください。
These would be valid:
RJ123456
PY654321
DD321234
These would not
DDD12345
12DDD123
[a-zA-Z]{2}\d{6}
[a-zA-Z]{2}
は 2 文字
\d{6}
を意味します 6 桁を意味します
大文字のみが必要な場合は、次のようにします。
[A-Z]{2}\d{6}
次のようなことを試すことができます:
[a-zA-Z]{2}[0-9]{6}
式の内訳は次のとおりです。
[a-zA-Z] # Match a single character present in the list below
# A character in the range between “a” and “z”
# A character in the range between “A” and “Z”
{2} # Exactly 2 times
[0-9] # Match a single character in the range between “0” and “9”
{6} # Exactly 6 times
これは、件名のどこにでも一致します。被写体の周囲に境界が必要な場合は、次のいずれかを実行できます。
^[a-zA-Z]{2}[0-9]{6}$
これにより、件名全体が一致することが保証されます。つまり、主語の前後には何もありません。
また
\b[a-zA-Z]{2}[0-9]{6}\b
これにより、件名の両側に単語の境界が確保されます。
@Phrogz が指摘したように、他のいくつかの回答のように[0-9]
for aを置き換えることで、式をより簡潔にすることができます。\d
[a-zA-Z]{2}\d{6}
使用する正規表現言語によって異なりますが、非公式には次のようになります。
[:alpha:][:alpha:][:digit:][:digit:][:digit:][:digit:][:digit:][:digit:]
どこ[:alpha:] = [a-zA-Z]
と[:digit:] = [0-9]
有限の繰り返しを許可する正規表現言語を使用すると、次のようになります。
[:alpha:]{2}[:digit:]{6}
正しい構文は、使用している特定の言語によって異なりますが、それが考え方です。
正規表現のフレーバーがそれをサポートしているかどうかに応じて、次を使用できます。
\b[A-Z]{2}\d{6}\b # Ensure there are "word boundaries" on either side, or
(?<![A-Z])[A-Z]{2}\d{6}(?!\d) # Ensure there isn't a uppercase letter before
# and that there is not a digit after
Everything you need here can be found in this quickstart guide.
A straightforward solution would be [A-Za-z][A-Za-z]\d\d\d\d\d\d
or [A-Za-z]{2}\d{6}
.
If you want to accept only capital letters then replace [A-Za-z]
with [A-Z]
.