【发布时间】:2015-08-03 11:16:53
【问题描述】:
我正在尝试使用具有此模式的正则表达式在 Python 中匹配电子邮件地址:
"\w{1,}@\w{1,}.\w{1,}"
但有时有些电子邮件地址看起来像 firstname.lastname@lol.omg.hahaha.museum,我的模式会错过。
有没有办法调整这个正则表达式,使其包含任意数量的链式“.word”类型模式?
【问题讨论】:
-
是的 -
'@' in string。这是你能做的最好的。 -
@user51819 - Vaultah 实际上提出了一个有效的观点;为电子邮件提供有效的正则表达式非常困难(因为有效的电子邮件地址可以采用许多不同的格式)。许多应用程序使用简单的检查字符串中的 at 符号(以及 at 符号之后的内容)
-
顺便说一句,你应该使用
{1,}而不是+。 -
"gibberish@gibberish" 是一个有效的电子邮件地址(信不信由你!)
-
理论上您可以使用顶级域来发送电子邮件。
.com的所有者可以创建像owner@com这样的地址。实际上,没有人这样做,而且可能有数百万个地址验证器不允许这样做。
标签: python regex email-validation