假定email地址的必要形式为:
xxxxxx@xxxxxxxx.xxxxxx
其他一概不作检查,对应的RE应为:[^@]+@[^@]+\.[^@]+
验证脚本:
import rep = pile(r"[^@]+@[^@]+\.[^@]+")#p = pile(r'([^@]+)@([^@]+)\.([^@]+)') 如果改成这种形式,后面可以输出帐号emails = ['a@uuuuuu.xyzuv', '@', '@.org', '@','xsd@.cn', 'rs@233.', 'c', 'cde@', 'xy@']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@ NOT validxsd@.cn NOT validrs@233. NOT validc NOT validcde@ NOT validxy@ is valid#('xy', '163', 'com')
[1] /questions/8022530/python-check-for-valid-email-address