java学习笔记之: 正则表达式基础

正则基础语法(死记硬背)

类 Pattern中 jdk文档有详细说明

字符 分组 其他
^ 正则开始 (a|b) a或者b | 或
$ 正则结束 . 任意字符 && 与
x 字符x [abc] a或者b或者c ()
\t \n \f \r 制表符 换行符之类 [^abc] 非[abc] 1
\w 字母数字下划线 [a-zA-Z] a-z或者A-Z 1
\W 非\w ? {0,1}次 1
\d [0-9] + {1,}次 1
\D 非\d * {0,}次 1
\s 空白字符 {n} n次 1
\S 非\s {n,} 至少n次 1

java入门正则练习

   // 验证一个字符是否是数字(整数或者小数)
   String s = "123.1";
   System.out.println(s +"(整数或者小数验证):" + s.matches("^(\\d+(\\.\\d+)?)$"));

    //验证IPV4地址 192.168.1.1
    s = "192.168.1.001";
    System.out.println(s +"(简单IPV4验证):" + s.matches("^((\\d{1,3}\\.){3}\\d{1,3})$"));

    //邮箱验证 
    s = "[email protected]"; //只要是大概的格式就可以
    System.out.println( s +"(邮箱简单验证):" + s.matches("^(\\w+@\\w+.\\w+)$"));

    s = "[email protected]";//邮箱格式,只能字母开头和结尾,全文只有字母数字下划线,后缀只能是.com .cn .new .com.cn  用户名长度限制30
    System.out.println( s +"(邮箱复杂验证):" + s.matches("^([a-zA-Z]\\w{0,28}[a-zA-Z]@\\w+((.com)|(.cn)|(.net)|(.com.cn)))$"));

java对正则的支持

在java.util.regex正则包中,只有两个类
Pattern类:用于编译正则
Matcher类 用于匹配

String中的matches方法就是调用的reg包中的方法

   public static boolean matches(String regex, CharSequence input) {
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);
        return m.matches();
    }

目录

猜你喜欢

转载自blog.csdn.net/wen_ching_zhou/article/details/79492498