java regex问题与电子邮件验证

时间:2016-06-16 08:00:47

标签: 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,})$

我如何实现这一目标? 感谢。

2 个答案:

答案 0 :(得分:0)

这是正则表达式:

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次出现之间的字符数。

答案 1 :(得分:0)

^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$ 我使用了另一种方法。