Python match()メソッドで文字列がメールアドレスかどうか判定する
環境
Python 3.9.13
Windows 10 Home 64bit
PyCharm 2022.2.1 (Community Edition)
書式
メールアドレスの正規表現式
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
変数名 = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
re.match(変数名, 文字列) is not None
正規表現を利用可能にする「re」モジュールを使ってmatch()メソッドでパターンマッチを実装します。
使用例
import re def checkMail(str): pattern = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" return re.match(pattern, str) is not None if checkMail('test@example.com'): print('test@example.comはメールアドレスです。') else: print('test@example.comはメールアドレスではありません。')
実行結果
test@example.comはメールアドレスです。