gpt4 book ai didi

java - 与正则表达式匹配电子邮件的问题

转载 作者:行者123 更新时间:2023-11-30 05:12:59 28 4
gpt4 key购买 nike

我正在尝试匹配一个电子邮件地址,这是我到目前为止所想到的:

String text = "gandalf_storm@mymail.com"; 
String regex = "(\\w+)@{1}(\\w+){2,}\\.{1}\\w{2,4}";

但这适用于以下情况:

gandalf_storm@mymail.com
gandalfstorm@mymail.com
gandalf2storm@mymail.com

因此,它匹配在一个@之前重复一次或多次的任何字母数字字符,后跟任何重复至少两次的字母数字字符(这是任何域名的最少字符),后跟一个.(点),然后是任何字母数字字符字符重复至少2次,最多4次(因为有.us或.mobi等域名)。

但是,此表达式不适用于以下电子邮件:

gandalf.storm@mymail.com gandalf.storm@mydomain.me.uk gandalf.storm@mysubdomain.mydomain.me.uk gandalf.storm@mysubdomain.mysubdomain.mydomain.me.uk etc as many subdomains

gandalf.storm@mymail.com gandalf2storm@mydomain.me.uk gandalf_storm@mysubdomain.mydomain.me.uk gandalfstorm@mysubdomain.mysubdomain.mydomain.me.uk

我刚刚开始学习正则表达式,我发现尝试使用正则表达式解决此类问题很有趣。不是部分地,而是对于每种情况,任何帮助都会非常感激。谢谢

最佳答案

这个问题之前已经被问过很多很多次了。 Here's why你不想使用正则表达式 解析电子邮件地址。请注意,正则表达式的怪物甚至不处理注释。

关于java - 与正则表达式匹配电子邮件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com