正規表現でメールアドレスをフィルタリングする:私は正規表現に不慣れで、誰かが助けてくれることを望んでいました。
次の形式のメールアドレス文字列をパターンマッチングしようとしています。
FirstName.LastName@gmail.com
「@」文字の前にピリオドがあり、「@」文字の後の文字がgmail.comと一致することを確認したい
正規表現でメールアドレスをフィルタリングする:私は正規表現に不慣れで、誰かが助けてくれることを望んでいました。
次の形式のメールアドレス文字列をパターンマッチングしようとしています。
FirstName.LastName@gmail.com
「@」文字の前にピリオドがあり、「@」文字の後の文字がgmail.comと一致することを確認したい
ドットの前後にいくつかの記号が必要なので、提案し.+\..+@gmail\.com
ます。
.+
記号(。)が1回以上表示されることを意味します(+)
\.
はドット記号を意味します。の特別な意味を抑制するためにバックスラッシュでスクリーニングされ、正確に一致する必要があります.
@gmail
。com
正規表現の基本構文リファレンスも参照してください。
編集:アカウント名のGmailルールでは、ラテン文字、数字、ドットのみが許可されているため、より適切な正規表現は
[a-zA-Z0-9]+\.[a-zA-Z0-9]+@gmail\.com
有効なメールアドレスを確認してください
^(?:(?!.*?[.]{2})[a-zA-Z0-9](?:[a-zA-Z0-9.+!%-]{1,64}|)|\"[a-zA-Z0-9.+!% -]{1,64}\")@[a-zA-Z0-9][a-zA-Z0-9.-]+(.[a-z]{2,}|.[0-9]{1,})$
施行された規則:
要件はかなり具体的であるため、正規表現も必要ありません。使用している言語はわかりませんが、ほとんどの場合、分割の実行@
とのチェックをサポートし.
ます。Pythonの場合:
name, _, domain = email.partition('@')
if '.' in name and domain == 'gmail.com':
# valid
必要な正規表現フレーバーの種類を教えてくれませんが、この例はそれらのほとんどに適合します。
.*\..*@gmail.com
.
が任意の文字であるUnixスタイルを想定します。.*\..*@gmail\.com
編集:.
ドメイン内でエスケープ
次の正規表現を使用して、電子メールアドレスを検証しました。また、これに関してC#言語の小さなコードスニペットを追加しました。
正規表現- "^[a-zA-Z0-9]{3,20} @ gmail.com $"
コード:-
static void Main(string[] args)
{
Console.WriteLine("Enter Your Text ");
string input = Console.ReadLine();
Console.WriteLine("The Text that you have entered is :" + input);
Console.ReadLine();
string pattern = "^[a-zA-Z0-9]{3,20}@gmail.com$";
Regex regex = new Regex(pattern);
bool results = regex.IsMatch(input);
Console.WriteLine(results.ToString());
Console.ReadLine();
}
∂øøµ $∂å¥!@ gmail.comなどのメールもチェックされ、ここではfalseとして表示されます。;-)