java 正则表达式与电子邮件验证问题

标签 java regex

我正在尝试用 java 验证电子邮件。下面是代码:

String mail = "Text1@Tex2.Text3.Text4";
    String regex = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    if(mail.matches(regex)){
        System.out.println("valid email");
    };

现在我想将 Text1 和 Text2 的长度限制为 10 个字符,将 Text3 的长度限制为 5 个字符。

我尝试使用这个正则表达式但没有工作 - ^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]{2,}+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$

我该如何实现这个目标? 谢谢。

最佳答案

这是正则表达式:

String regex = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]{0,10})*@[A-Za-z0-9]+(\\.[A-Za-z0-9]{0,10})*(\\.[A-Za-z]{0,5})$";

这不会将点计为字符,使用 {n, m} 语法,它将字符数限制在 n 到 m 次之间。

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

相关文章:

java - 使用spring任务调度处理多个文件时如何保持一致性?

java - 延迟加载内容

java - Type enum is not generic 错误克隆和引擎

java - 二进制文件作为字符串读取并存储为 Base64

java - stub() 和 when() 有什么区别?

Python正则表达式匹配: include Regex syntax

regex - Bash 脚本 - 使用正则表达式分隔符拆分字符串

java - 正则表达式检查字符串格式?

python - Re.findall 仅返回 Python 2.7 中的第一个匹配项

jquery - 使用正则表达式根据属性的部分内容查找元素