如何改进此电子邮件正则表达式?

How to improve this email regex?

我正在尝试使用具有此模式的正则表达式来匹配 Python 中的电子邮件地址:

"\w{1,}@\w{1,}.\w{1,}"

但是有时有些电子邮件地址看起来像 firstname.lastname@lol.omg.hahaha.museum,我的模式会漏掉这些地址。

有没有办法调整此正则表达式,使其包含任意数量的链式“.word”类型模式?

您不应尝试将电子邮件地址与正则表达式相匹配。您将不得不使用更复杂的状态机来检查地址是否正确匹配 RFC 2822。

https://pypi.python.org/pypi/validate_email 是您可以查看的此类图书馆之一。

这应该适合你

[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}

您可以使用以下内容:

[\w.-]+@[\w-][\w.-]+\w   //replaced {1,} with its equivalent.. "+"