python - 使用正则表达式匹配所有首字母小写的电子邮件?
问题描述
我只想从电子邮件满足条件的字符串中找到那些电子邮件地址。
条件:电子邮件的第一个字符必须小写。
Example : abc123@xyz.com #Satisfies
Example : Abc123@xyz.com #Not Satisfies
代码:
import re
str = '''
FIRSTEMAIL@gmail.com
secondemail@gmail.com
Thirdemail@gmail.com
fourthEmail@gmail.com
'''
pattern = r'[a-z]+[A-Za-z0-9]+[@]+[a-z]+\.+[a-z]+'
output = re.findall(pattern,str)
print output
预期输出:
secondemail@gmail.com
fourthEmail@gmail.com
实际输出:
secondemail@gmail.com
hirdemail@gmail.com #Problem
fourthEmail@gmail.com
解决方案
就这么简单(你需要\b
在小写字母之前添加一个单词边界):
\b[a-z]\S*@\S+
在 regex101.com 上查看演示。
\b
确保单词和非单词字符之间的边界并且是零宽度断言(意味着它自己不消耗任何字符)。
推荐阅读
- oracle - Oracle 程序无法将标头写入 csv 文件
- docusignapi - Docusign 响应式签名输入字段改变流程
- php - 保存 WordPress 插件的设置页面并在前端使用变量
- java - 使用 Tom Cat Server 创建动态 Web 项目时,项目打开时出现错误
- c# - 无法在 ASP.NET Core 中使用 FluentEmail 发送 Razor 模板
- c# - .NET 框架将信息传递给已经运行的进程
- android - react-native 更新导致“属性'resValues'的值无法进一步更改
- post-meta - 我们如何将所有具有 meta_key/value 的帖子移到列表的前面?
- c++ - QT qDebug() 不在 IDE 控制台中打印任何内容
- sql - 列引用“customer_id”不明确