電子メール アドレスの検証は、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,}')
この正規表現の意味は次のとおりです:
上記の正規表現では、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 サイトの他の関連記事を参照してください。