为什么这种电子邮件正则表达式模式如此受欢迎,甚至不考虑小写字母?

为什么这种电子邮件正则表达式模式如此受欢迎,甚至不考虑小写字母?

我已经看到下面的模式在多个地方(甚至在 sof 上)使用作为电子邮件 ID 验证的示例。

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b

以上摘自https://www.regular-expressions.info/tutorial.html,以及报价

 this pattern describes an email address. 

这种模式不考虑小写字母(除非我遗漏了一些东西)。

关于这个模式我还有什么需要进一步了解的吗?由于这种模式不能真正用于生产吗?为什么它如此受欢迎?

答案1

我已经看到下面的模式在几个地方使用(甚至在sof上)......为什么它如此受欢迎?

因为人们将第一个谷歌搜索结果复制粘贴到他们的答案、博客和代码中,而这些结果又被搜索引擎拾取,这使得更多的人复制粘贴它,从而产生了一个地狱漩涡,最终导致了互联网上有更好的内容。

除非我错过了什么

根据您问题中的链接,有长篇大论的题外话这应该“回答”你所有的问题。

答案2

它不应该在生产中使用。例如,"email me"@contoso.com这是一个语法上有效的电子邮件地址,但不会与该幼稚的 RE 匹配。

RFC5322 第 3.4.1 节以获得明确的语法。

也许令人烦恼的是,没有 BRE 或 ERE 可以匹配该语法定义,但您可以非常接近。然而,PCRE 就可以解决问题。看如何使用正则表达式验证电子邮件地址?在 StackOverflow 上。

相关内容