我正在尝试验证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,})$
我如何实现这一目标? 感谢。
答案 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,})$
我使用了另一种方法。