首先分析emali地址的规则,以bill.gates@microsoft.com为例,可以将一个email地址分为三部分。第一部分是bill.gate,它的规则可以描述为正数个字母、数字和.的组成。第二部分为固定字符@.第三部分以microsoft.com为例,它的规则可以描述为正数个字母数字+.com。
明确了规则,正则表达式可以如下所示
r'^[\d\w\.]+@[\d\w]+\.com$'
写成函数即为
def is_valid_email(addr):
pattern=re.compile(r'^[\d\w\.]+@[\d\w]+\.com$')
if re.match(pattern,addr):
return True
return False
进行测试
assert is_valid_email('someone@gmail.com')
assert is_valid_email('bill.gates@microsoft.com')
assert not is_valid_email('bob#example.com')
assert not is_valid_email('mr-bob@example.com')
print('ok')
结果输出ok,程序正确
本文介绍了一种使用正则表达式验证特定格式Email地址的方法,并通过几个实例展示了如何判断一个Email地址是否符合预期的格式规范。
2447

被折叠的 条评论
为什么被折叠?



