Exchangeサーバーで正規表現を使用して、「メールアドレスの文字1、2、または3に数字がありますか」というルールに一致させようとしています
以前に正規表現を使用したことはありませんが、次のことを思いつきました。これはほとんど機能します!
^([0-9]|[0-9]|[0-9]).*@domain.com
Char 2または3が数字の場合は機能しますが、最初の文字は機能しません
誰かが私が間違っているところを見たり説明したりできますか?
どうもありがとう、
J
Exchangeサーバーで正規表現を使用して、「メールアドレスの文字1、2、または3に数字がありますか」というルールに一致させようとしています
以前に正規表現を使用したことはありませんが、次のことを思いつきました。これはほとんど機能します!
^([0-9]|[0-9]|[0-9]).*@domain.com
Char 2または3が数字の場合は機能しますが、最初の文字は機能しません
誰かが私が間違っているところを見たり説明したりできますか?
どうもありがとう、
J
正規表現は、最初の文字が数字 ( [0-9]
)、数字 ( [0-9]
)、または数字 ( ) であるかどうかをチェックしてい[0-9]
ます。([0-9]|[0-9]|[0-9])
これでやりたいことができます:
^([0-9]..|.[0-9].|..[0-9]).*@domain.com
これは、文字列が次で始まるかどうかを確認します。
[0-9]..
数字とそれに続く 2 文字
.[0-9].
文字、数字、およびもう 1 つの文字
..[0-9]
2文字と数字
ここでテストできます
実際に位置で文字を一致させようとしているときに、括弧内で交互に使用するとうまくいきません。
位置 1、2、または 3 の数字を一致させたい場合は、次のようにします。
^[0-9]|^.[0-9]|^..[0-9]
これは文字列がメールアドレスとして検証されるわけではありませんが、有効なメールアドレスのみを正規表現にフィードすると仮定すると、一致させたいものと一致することに注意してください。