メールアドレス検証に Python 正規表現を使用する方法

WBOY
リリース: 2023-06-22 08:37:54
オリジナル
1904 人が閲覧しました

電子メール アドレスの検証は、Web サイトの開発でも、電子メール クライアント プログラムの作成でも、非常に一般的な要件です。 Python の組み込み正規表現モジュール re は、このような問題に対処するための強力なツールです。この記事では、メールアドレス認証にPython正規表現を使用する方法を紹介します。

電子メール アドレスの形式

始める前に、検証に正規表現を使用するときにより正確になるように、電子メール アドレスの基本的な形式を理解しましょう。

標準の電子メール アドレスは、「ユーザー名」と「ドメイン名」の 2 つの部分で構成されます。このうち、「ユーザー名」部分は通常、文字、数字、アンダースコア、ピリオド、ハイフンなどで構成され、「ドメイン名」部分は、ホスト名とドメイン名を真ん中の「@」記号で接続したもので構成されます。 。

たとえば、一般的な電子メール アドレスは「james@example.com」です。このうち、「james」はユーザー名、「example.com」はドメイン名です。

この基本的な形式に加えて、国際化されたドメイン名、IP アドレスなど、多くの複雑な電子メール アドレス形式があります。ただし、通常は、一般的な電子メール アドレス形式を扱うだけで済みます。

検証に正規表現を使用する

Python の組み込み re モジュールには多くの正規表現関数が用意されており、最も一般的に使用されるのは re.match() と re.search() です。どちらの関数も、テキスト内のパターンを見つけるために使用できます。

電子メール アドレスを確認するには、正規表現を使用して電子メール アドレスの形式と一致させる必要があります。以下は、基本的な電子メール アドレスの正規表現です:

import re

pattern = re.compile(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}')
ログイン後にコピー

この正規表現の意味は次のとおりです:

  • : 完全な電子メール アドレスのみと一致するように単語の境界を照合します。
  • [A-Za-z0-9._% -]: 1 つ以上の文字、数字、ピリオド、アンダースコア、ハイフン、プラス記号、パーセント記号と一致します。
  • @: 「@」文字と一致します。
  • [A-Za-z0-9.-]: 1 つ以上の文字、数字、ピリオド、ハイフンと一致します。
  • .: 「.」文字と一致します。
  • [A-Z|a-z]{2,}: 少なくとも 2 つの文字と一致します。

上記の正規表現では、2 つの量指定記号 {2,} と {2,} を使用しています。これらはどちらも 1 つ以上の繰り返しを表しますが、少なくとも 1 つと {2 が必要です。 ,} 少なくとも 2 つ必要です。

もちろん、上記の正規表現はすべての電子メール アドレス形式をカバーしているわけではありませんが、標準を満たすほとんどの電子メール アドレスに一致します。

次に、re モジュールの match() または search() 関数を使用して電子メール アドレスを確認します。

email = "james@example.com"
if re.match(pattern, email):
    print("Valid email address.")
else:
    print("Invalid email address.")
ログイン後にコピー

「james@example.com」を例として、検証に match() 関数を使用します。アドレスが正規表現と一致する場合は「有効なメール アドレス」が出力され、そうでない場合は「無効なメール アドレス」が出力されます。

電子メール アドレスのグループを確認したい場合は、リストまたはファイルに保存できます。

emails = ['james@example.com', 'jane.doe@example.com', 'john_doe@mail.com']

for email in emails:
    if re.match(pattern, email):
        print(email, "is a valid email address.")
    else:
        print(email, "is an invalid email address.")
ログイン後にコピー

この方法で、電子メール アドレスのグループを迅速に確認できます。

概要

電子メール アドレスの検証に Python 正規表現を使用することは、非常に一般的なタスクです。この記事では、いくつかの基本的な電子メール アドレス形式とその正規表現、および Python の組み込み re モジュールを使用して電子メール アドレスを検証する方法を紹介します。もちろん、より複雑な検証関数が必要な場合は、他の Python モジュールと組み合わせることもできます。この記事がメール アドレスの検証の問題に対処する際に役立つことを願っています。

以上がメールアドレス検証に Python 正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート