目前位置: 首页 » python python实例 »正文

用正则表达式过滤不合规邮箱地址

为了避免用户瞎乱搞,用一些垃圾信息进行注册,所以在注册环节必须对用户填写的邮箱地址进行过滤。

这时候,我觉得最好的办法就是使用正则表达式啦。

来看一下我这段代码

import re

email=str(input('请输入邮箱地址:'))

pattern='\w{5,20}@[0-9a-zA-Z]{2,13}.(com|cn|net|org)$'

result=re.match(pattern,email)

if result:#匹配成功,则输出匹配到的邮件地址
	print(result.group())
else:#匹配失败,提示不符合要求
	print('不符合要求的邮箱地址!')

简单解释一下这个匹配规则pattern

\w{5,20}——\w 是匹配大小写数字以及下划线的,{5,20}限定字符烜数量在5-20位之间

\w就相当于{0-9a-zA-Z_}

(com|cn|net|org)$,表示只支持以com、cn、net、org结尾。

各位可以复制我的这段代码进行测试哦。

推荐阅读