我已经看到下面的模式在多个地方(甚至在 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 上。