python判断字符串是否符合邮箱格式

在Python中,可以使用正则表达式来判断一个字符串是否符合邮箱格式。以下是一个示例代码,展示了如何实现这一功能:

import re

def is_valid_email(email):
    # 定义邮箱的正则表达式
    email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    
    # 使用re.match()方法匹配
    if re.match(email_pattern, email):
        return True
    else:
        return False

# 测试示例
emails = ["[email protected]", "invalid-email@", "[email protected]", "plainaddress", "@missingusername.com"]

for email in emails:
    print(f"{email}: {is_valid_email(email)}")

代码说明:

  1. 引入re模块:我们使用re模块来处理正则表达式。
  2. 定义邮箱正则表达式:这个正则表达式用于匹配常见的邮箱格式。它包括:
    • ^[a-zA-Z0-9._%+-]+:表示用户名部分,可以包含字母、数字及一些特殊字符。
    • @[a-zA-Z0-9.-]+:表示域名部分,必须以“@”开头,后面可以有字母、数字和点、连字符等。
    • \.[a-zA-Z]{2,}$:表示顶级域名部分,必须以.开头,并且后面至少有两个字母(如.com, .org等)。
  3. 匹配与返回:使用re.match()方法检查邮箱是否符合格式,并返回布尔值。
  4. 测试示例:对一组测试邮箱进行验证,并打印结果。

你可以根据需要修改正则表达式,以支持其他特定的邮箱格式或规则。

Published At