import re def is_valid_email(addr): #[\w]匹配至少一个数字、字母、下划线的字符;[\W]不匹配“-“”字符;“.”匹配除了\n的任意字符
pattern = re.compile(r"^[\w]+(\.[\W]+)*@+[\w]+(\.[\w])+") result = pattern.match(addr) if result: return True else: return False if __name__ == "__main__": while True: addr = input("请输入邮箱号码:\n") if addr == "q": break print(is_valid_email(addr))
打印信息:
请输入邮箱号码: 956897565@qq.com True 请输入邮箱号码: 956897565@qq.net True 请输入邮箱号码: 956897-565@qq.com False
第二种写法:
import re def is_valid_email(addr): #指定返回以.com和.net为邮箱结尾
pattern = re.compile(r"^[\w]+[@][\w_]+(\.[?:.com|.net]+)+") result = pattern.match(addr) if result: return True else: return False if __name__ == "__main__": while True: addr = input("请输入邮箱号码:\n") if addr == "q": break print(is_valid_email(addr))
打印结果:
请输入邮箱号码:
adadajfb@qq.com
True
请输入邮箱号码:
adadajfb@qq.bibi
False