m0_67564865 2022-04-05 17:50 采纳率: 88.2%
浏览 34
已结题

请教一个关于正则表达式的问题

请问,如何用正则表达式将列表中的邮箱信息提取出?如下:

l1=['a', 'b', 'c', 'd', 'E-Mail:abcdefg@qq.com', e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u]
l2=[1,2,3,4, 'xyz135@163.com', 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
l3=['a', 'b', 'c', 'd', '邮箱:123@gmail', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm']
l4=[a,b,c,d,5,6,7,8,9,10,11,12,h,i,j,k,l,m,n,o,p]

如何将列表中的邮箱提出,得到['abcdefg@qq.com','xyz135@163.com',123@gmail',None]的列表

  • 写回答

2条回答 默认 最新

  • A-Chin 2022-04-05 18:41
    关注
    def getmail(l_str):
        str_mail = []
        for i in l_str:
            if isinstance(i, str):
                nPos = i.find('@')
                if nPos > 0:           
                    fon = ""
                    pos = i[nPos : len(i)]
                    for j in range(nPos - 1, 0, -1):
                        if i[j].isdigit() or i[j].isalpha():
                            fon = i[j] + fon
                        else:
                            break
                    cur_email = fon + pos
                    str_mail.append(cur_email)
        if len(str_mail) == 0:
            str_mail.append("None")
        return str_mail
    
    l1=['a', 'b', 'c', 'd', 'E-Mail:abcdefg@qq.com','e','f','g','h','i','j']
    l2=[1,2,3,4, 'xyz135@163.com', 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
    l3=['a', 'b', 'c', 'd', '邮箱:123@gmail', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm']
    l4=['a', 'b', 'c', 'd',5,6,7,8,9,10,11,12,'h', 'i', 'j', 'k', 'l', 'm']
    
    
    mails = [];
    mails.append(getmail(l1)[0])
    mails.append(getmail(l2)[0])
    mails.append(getmail(l3)[0])
    mails.append(getmail(l4)[0])
    
    print mails
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月7日
  • 已采纳回答 5月7日
  • 创建了问题 4月5日

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄