正则表达式:邮箱匹配

格式概述

邮箱地址符合“名称@域名”规则。字符“@”在邮箱地址的“名称”和“域名”之间,邮箱地址名称只允许由英文字母、数字、下划线组成,域名只允许由英文字母、数字、“.”(点号)组成。

比如,mail@qq.com、mail@vip.qq.com就是符合上述规则的邮箱。

模式说明

[\w]+@[A-Za-z]+(\.[A-Za-z0-9]+){1,2}

分为两个部分,第一个部分[\w]+用于匹配邮箱的名称,第二个部分[\w]+(.[A-Za-z]+){1,2}用于匹配域名。

\w表示匹配数字、字母、下划线,[\w]+表示匹配一个或多个数字、字母、下划线;[A-Za-z]用于匹配一个字母,[A-Za-z]+用于匹配一个或多个字母,.[A-Za-z]+用于匹配以.(点号)开头并连接一个或多个字母,{1,2}表示匹配表达式(.[A-Za-z]+)一次或者两次。

注意,该正则表达式不是唯一的。还可以有其他的形式:

\b[\w]+@[A-Za-z]+(\.[A-Za-z0-9]+){1,2}\b
^\w+@[A-Za-z]+(\.[A-Za-z0-9]+){1,}$

使用示例

>>> import re
>>> pattern = r"[\w]+@[A-Za-z]+(\.[A-Za-z0-9]+){1,2}\b"
# 符合格式邮箱号
>>> email = "email@qq.vip.com"
>>> re.match(pattern, email)
<re.Match object; span=(0, 16), match='email@qq.vip.com'>
# 不符合格式的邮箱号,包含特殊字符+
>>> email = "+5122@qq.com"
>>> re.match(pattern, email)
None
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值