Python 使用正则表达式实现邮箱验证

Document 对象参考手册 Python3 实例

在 Python 中,我们可以使用正则表达式来验证一个字符串是否符合邮箱的格式。邮箱通常包含用户名、@ 符号和域名部分。我们可以使用 re 模块来实现这一功能。

实例

import re

def validate_email(email):
    # 定义邮箱的正则表达式
    pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'
    # 使用 re.match 方法进行匹配
    if re.match(pattern, email):
        return True
    else:
        return False

# 测试邮箱
email = "example@example.com"
if validate_email(email):
    print(f"{email} 是一个有效的邮箱地址")
else:
    print(f"{email} 不是一个有效的邮箱地址")

代码解析:

  1. import re:导入 Python 的正则表达式模块。
  2. pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$':定义了一个正则表达式模式,用于匹配邮箱地址。这个模式包括:
    • ^[a-zA-Z0-9_.+-]+:匹配用户名部分,可以包含字母、数字、下划线、点、加号和减号。
    • @:匹配邮箱中的 @ 符号。
    • [a-zA-Z0-9-]+:匹配域名部分,可以包含字母、数字和减号。
    • .[a-zA-Z0-9-.]+$:匹配顶级域名部分,可以包含字母、数字、点和减号。
  3. re.match(pattern, email):使用 re.match 方法检查邮箱字符串是否符合正则表达式模式。
  4. if validate_email(email)::调用 validate_email 函数验证邮箱地址,并根据返回结果输出相应的信息。

输出结果:

example@example.com 是一个有效的邮箱地址

Document 对象参考手册 Python3 实例