邮箱正则表达式的分析

2025-10-19 18:32:16

详细分析邮箱正则表达式

方法/步骤

邮箱的命名方式一般分为三部分,第一部分为邮件地址;第二部分为@;最后是第三部分为邮箱域名地址。

第一部分 邮件地址

邮件地址只能由字母、数字、下划线组成。则使用 \w对第一部分进行匹配;字符数量大于1所以第一部分匹配规则为 \w+ 。

第二部分@

@可直接使用直接用@字符进行匹配。

第三部分域名部分

域名部分由字母、数字、点组成,域名部分最少需要到二级域名。

域名组成规则

1. 26个英文字母

2. "0,1,2,3,4,5,6,7,8,9"十个数字

3. "-"(英文中的连词号,但不能是第一个字符)

使用 [0-9a-zA-Z]+[-0-9a-zA-Z]* 满足域名匹配规则

如:******@vip.qq.com

.com为顶级域名,

.qq为二级域名,

则顶级域名与二级域名均可使用 \.[0-9a-zA-Z]+[-0-9a-zA-Z]* 进行匹配,则可总结为(\.[0-9a-zA-Z]+[-0-9a-zA-Z]*)+ 

vip为三级域名,

三级域名使用 ([0-9a-zA-Z]+[-0-9a-zA-Z]*) 进行匹配

则第三部则可以使用 ([0-9a-zA-Z]+[-0-9a-zA-Z]*)(\.[0-9a-zA-Z]+[-0-9a-zA-Z]*)+ 进行匹配

总的正则表达式为

\w+@([0-9a-zA-Z]+[-0-9a-zA-Z]*)(\.[0-9a-zA-Z]+[-0-9a-zA-Z]*)+

使用到的正则表达式

\w 匹配数字、字母、下划线

+ 匹配前一个正则表达式至少一次

* 匹配0次或多次

[] 中的内容为单个字符可匹配的字符集

[0-9a-zA-Z] 匹配数字或字母

[-0-9a-zA-Z] 匹配数字或字母或"-"

注意事项

正则表达式可在一下网址进行测试 http://tool.oschina.net/regex

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢