python的邮箱正则的一些改进

来源:互联网 发布:js 设置控件不可用 编辑:程序博客网 时间:2024/04/30 14:10

首先推荐一篇文章python的正则表达式的一些讲解

然后,现在最正统的邮箱正则是这样的

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

如果出现

11.1.1@ff.fo

这样的邮箱地址的话

那么就会被判定为不合法

然而,如果出现

-f@f.f

f-@f.f

就会判定为合法

这很明显是不符合逻辑的

应该改进为

\w+[\w\.-]*\w+@\w+(-\w+)*[\.\w]+$

python代码如下

import remail_should_checks = ["forever1234@foxmail.com",                      "1-2-3@ff.co.f",                      "1-@ff.co",                      "-1@fp.co",                      "11.1.1@ff.fo",                      "1234@f.c",                      "1234@f-.c",                      "1234@-f.c",                      "123--4@f.c.v.v.v.v.v.v"]for mail_should_check in mail_should_checks:    m = re.match(r'^\w+[\w\.-]*\w+@\w+(-\w+)*[\.\w]+$', mail_should_check)#, re.IGNORECASE | re.MULTILINE)    if m: print m.group()




0 0
原创粉丝点击