基本用法

1
2
3
4
5
class test{
    public static boolean testM(String st){
        return st.matches("正则表达式");
    }
}

字符类

[abc] a或b或者c(简单类)

[^abc] 除了a,b,c(否定类)

[a-zA-Z] a到z或者A-Z(范围类)

[a-d[m-p]] a到d或m-p(并集)

[a-z&&[def123]] d,e,f(交集)

[a-z&&[^b-y]] a,z(减去)

预定义字符类

. 任何字符

\d 数字

\D 非数字

\s 空字符

\S 非空字符

\w 单词

\W 非单词

数量词

x? 一次或一次也没有

x* 零次或多次

x+ 一次或多次

x{n} 恰好n次

x{n,} 至少n次

x{n,m} 至少n次,但不超过m次

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class test{
    public static void main(String[] args) {
        String data = "数据";
        String regex = "表达式";
        Pattern pattern = Pattern.compile(regex);//创建匹配规则对象
        Matcher matcher = pattern.matcher(data);//创建匹配器对象
        while(matcher.find){
            System.out.println(matcher.group);//匹配信息
        }
    }    
}