Java正则表达式验证邮箱地址、IP地址

  • \\.                   相当于.
  • \\w                 匹配任何字类字符,包括下划线。相当于"[A-Za-z0-9_]"
  • [A-Za-z0-9]  匹配任何数字和字母,不包括下划线
  • \\d                 相当于[0-9]
  • ?                   0次或1次匹配前面紧贴着的字符或表达式,相当于{0,1}
  • +                   1次或多次匹配前面紧贴着的字符或表达式,相当于{1,}
  • *                    0次或多次匹配前面紧贴着的字符或表达式,相当于{0,}
  • ^                    字符串开始的位置
  • $                    字符串结束的位置
  • {n}                  匹配n次
  • {n,}                 匹配n次或多次   
  • {n,m}              匹配至少n次,至多m次
//验证邮箱
public void testRegex() {
	String s = "[email protected]";

        //不包括下划线,其中的{1,2}意义为可匹配[email protected]
	String pattern = "^[A-Za-z0-9]+@([A-Za-z0-9]+\\.){1,2}[A-Za-z0-9]+$"; 

        //包括下划线,相当于"[A-Za-z0-9_]" 
	String pattern1 = "^\\w+@(\\w+\\.){1,2}\\w+$";
                         
	System.out.println(Pattern.matches(pattern, s));    //输出 false
	System.out.println(Pattern.matches(pattern1, s));   //输出true
}
//验证IP地址
public static void main(String[] args) {

    //有5种情况:100-199、200-249、250-155、10-99、0-9
    String ipRegex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|0?[1-9]\\d|0{0,2}\\d)\\."
            + "(1\\d{2}|2[0-4]\\d|25[0-5]|0?[1-9]\\d|0{0,2}\\d)\\."
            + "(1\\d{2}|2[0-4]\\d|25[0-5]|0?[1-9]\\d|0{0,2}\\d)\\."
            + "(1\\d{2}|2[0-4]\\d|25[0-5]|0?[1-9]\\d|0{0,2}\\d)$";

    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
        System.out.println(Pattern.matches(ipRegex, sc.next()));
    }
}

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Java)