適切な正規表現マッチングを支援してください。任意の2文字とそれに続く6つの整数の任意の組み合わせ。RegExパターン任意の2文字の後に6つの数字を続けます
ここ[a-zA-Z]{2}[0-9]{6}
は、式のブレークダウンです:
These would be valid:
RJ123456
PY654321
DD321234
These would not
DDD12345
12DDD123
適切な正規表現マッチングを支援してください。任意の2文字とそれに続く6つの整数の任意の組み合わせ。RegExパターン任意の2文字の後に6つの数字を続けます
ここ[a-zA-Z]{2}[0-9]{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}
はうまくいきます。 – Fergus
^で始まるのを忘れてしまいました。それ以外の場合は、2文字以上ある場合は部分的に一致します。 2アルファと6桁の[[:alpha:]] {2} [[:digit:]] {6}を見つけるには、[:alpha:]の代わりに –
あなたはこのような何かを試みることができる
[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}$
これは、被写体全体が一致するようにします。私は被験者の前後に何もない。被写体の各側にword boundaryがある保証
又は
\b[a-zA-Z]{2}[0-9]{6}\b
。
@Phrogzで指摘されているように、[0-9]
を\d
のように置き換えれば、より簡潔に表現することができます。
[a-zA-Z]{2}\d{6}
私は正規表現が何であるかに依存しますあなたが使っている言語ですが、非公式には、それは:
あなたは次のようになり、有限の繰り返しを可能にする正規表現言語、使用している場合[:alpha:] = [a-zA-Z]
と
[:digit:] = [0-9]
[:alpha:][:alpha:][:digit:][:digit:][:digit:][:digit:][:digit:][:digit:]
:
[:alpha:]{2}[:digit:]{6}
を正しい構文を使用するとしている特定の言語に依存しますを使用して、それがアイデアです。
[[alpha:]] –
あなたの正規表現の風味がそれをサポートしている場合によっては、私が使用する可能性があります:あなたがここで必要
\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
すべてがthis quickstart guideで見つけることができます。 直接的な解決策は、[A-Za-z][A-Za-z]\d\d\d\d\d\d
または[A-Za-z]{2}\d{6}
です。
大文字のみを受け入れる場合は、[A-Za-z]
を[A-Z]
に置き換えます。
「ABC1234567」はどうですか?それが起こるかもしれませんか? – Phrogz
2文字以上または6文字以上の場合はありません。 – Fergus
「整数」は常に西洋アラビア数字「0-9」ですか、それとも[他の数字]ですか(http://en.wikipedia.org/wiki/Numerical_digit#Numerals_in_most_popular_systems)? – Phrogz