asp.netの電子メールテストボックスに次の正規表現があります。
([a-zA-Z0-9_\-\.]+)\@((base\.co\.uk)|(base\.com)|(group\.com)|(arg\.co\.uk)|(arggroup\.com))
この正規表現は、
xxx@base.co.uk
xxx@base.com
xxx@group.com
それは機能していません:
xxx@arg.co.uk
xxx@arggroup.com
私を助けてください
asp.netの電子メールテストボックスに次の正規表現があります。
([a-zA-Z0-9_\-\.]+)\@((base\.co\.uk)|(base\.com)|(group\.com)|(arg\.co\.uk)|(arggroup\.com))
この正規表現は、
xxx@base.co.uk
xxx@base.com
xxx@group.com
それは機能していません:
xxx@arg.co.uk
xxx@arggroup.com
私を助けてください
これ:
[a-zA-Z0-9_-.]
アンダースコアからドットまでの偽の範囲が含まれています。次のような「アンダースコア、ダッシュ、またはドット」を意味しましたか:
[a-zA-Z0-9_\-.]
? それを修正すると、うまくいきます。
\.
また、アドレスではなく使用する必要があります。ドットは任意の文字に一致するため、パターン.
と一致します。baseXcom
(s 内のドットにはバックスラッシュは必要ないことに注意してください[]
。)
完全に修正された式:
@"([a-zA-Z0-9_\-.]+)@((base\.co\.uk)|(base\.com)|(group\.com)|(arg\.co\.uk)|(arggroup\.com))"
(@""
バックスラッシュをバックスラッシュする必要を避けるために使用していることに注意してください。)
正確な問題はわかりませんでしたが、ここで重要なポイントを見逃したり見落としたりしました。:-)
'.'
正規表現のワイルドカードであり、何にでも一致します。
合わせる '。' 使用する
\.
これを試してみましょう
([a-zA-Z0-9_\-.]+)@(base\.co\.uk)|(base\.com)|(group\.com)|(arg\.co\.uk)|(arggroup\.com)
ここで正規表現テスターを使用すると、おそらく役に立ちます。ただし、私が見る限り、正規表現にエラーがあり、どの例でも機能しないはずです。グループは次のようにする必要があります。
[-a-zA-Z0-9_.]
その修正により、すべての例で機能します。との-
間に がある_
と.
、範囲を構築しようとしますが、ASCII 値の順序が間違っています。
また、最後の部分で使用されるドットは、base\.com
ではなくとしてエスケープする必要がありますbase.com