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

时间:2015-05-21 16:41:18

标签: python regex email-validation

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

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

但是,有时会有一些看似firstname.lastname@lol.omg.hahaha.museum的电子邮件地址,我的模式会错过。

有没有办法调整这个正则表达式,所以它将包含任意数量的链式“.word”类型模式?

3 个答案:

答案 0 :(得分:0)

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

https://pypi.python.org/pypi/validate_email就是您可以查看的一个这样的图书馆。

答案 1 :(得分:0)

这应该对你有用

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

答案 2 :(得分:0)

您可以使用以下内容:

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