[python] 使用正则表达式验证email地址是否有效

假定email地址的必要形式为:
xxxxxx@xxxxxxxx.xxxxxx
其他一概不作检查,对应的RE应为:[^@]+@[^@]+\.[^@]+

验证脚本:

import re
p = re.compile(r"[^@]+@[^@]+\.[^@]+")
#p = re.compile(r'([^@]+)@([^@]+)\.([^@]+)')  如果改成这种形式,后面可以输出帐号
emails = ['a@uuuuuu.xyzuv', '@', '@.org', '@xxx.com',
          'xsd@.cn', 'rs@233.', 'c', 'cde@', 'xy@163.com']
for each in emails:
    if not p.match(each):
        print(each, " NOT valid")
    else:
        print(each, ' is valid')
        #print(p.match(each).groups()) 

运行结果:

a@uuuuuu.xyzuv  is valid
#('a', 'uuuuuu', 'xyzuv')
@  NOT valid
@.org  NOT valid
@xxx.com  NOT valid
xsd@.cn  NOT valid
rs@233.  NOT valid
c  NOT valid
cde@  NOT valid
xy@163.com  is valid
#('xy', '163', 'com')

[1] https://stackoverflow.com/questions/8022530/python-check-for-valid-email-address

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值