0

Exchangeサーバーで正規表現を使用して、「メールアドレスの文字1、2、または3に数字がありますか」というルールに一致させようとしています

以前に正規表現を使用したことはありませんが、次のことを思いつきました。これはほとんど機能します!

^([0-9]|[0-9]|[0-9]).*@domain.com

Char 2または3が数字の場合は機能しますが、最初の文字は機能しません

誰かが私が間違っているところを見たり説明したりできますか?

どうもありがとう、

J

4

2 に答える 2

2

正規表現は、最初の文字が数字 ( [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文字と数字

ここでテストできます

于 2013-03-07T17:44:46.173 に答える
1

実際に位置で文字を一致させようとしているときに、括弧内で交互に使用するとうまくいきません。

位置 1、2、または 3 の数字を一致させたい場合は、次のようにします。

^[0-9]|^.[0-9]|^..[0-9]

これは文字列がメールアドレスとして検証されるわけではありませんが、有効なメールアドレスのみを正規表現にフィードすると仮定すると、一致させたいものと一致することに注意してください。

于 2013-03-07T17:46:23.163 に答える