一个可以识别大部分电子邮件地址的正则表达式

一个可以识别大部分电子邮件地址的正则表达式

当大家在用pandas处理邮箱号码或者其他带有符号的字符串的时候,有可能会需要将字符串的几部分分来储存。

举例1:识别大部分电子邮件的正则表达式

data="""DAVE dave@google.com
        dsd steve@gmail.com
        dsddsdaw rob@gmail.com
        wes np.nan"""
      
pattern=r'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'
#flags=re.IGNORECASE 使用正则表达式不区分大小写
regex=re.compile(pattern,flags=re.IGNORECASE)
print(regex.findall(data))

输出为:

['dave@google.com', 'steve@gmail.com', 'rob@gmail.com']

让我们再来详细聊一下pattern中的语句的表达式含义:

pattern=r'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'

pattern=r’[A-Z0-9._%±]+@[A-Z0-9.-]+.[A-Z]{2,4}’
[A-Z0-9]指的是字母从A到Z,从0到9,英文句号,下划线,百分号,中括号外的+意思为中括号里的东西可以重复多次#举例来说,
比如:dave@google.com中,@前的dave就对应此处,第二部分是@后.前的部分,第三部分是.后的部分
[A-Z]{2-4}意味着 识别字母A-Z,个数为2个到四个,我们最后一般不是com 就是cn 所以足够使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值