Java正则表达式有两个重要的类:
Pattern:负责编译正则表达式,生成一个正则表达式对象,用法 调用其静态方法compile
Pattern p = Pattern.compile("\\w+\\((\\d+)\\)");
Matcher:由Pattern的matcher方法获得,而matcher方法是真正干活的方法,它去匹配一个目标字符串。将匹配的结果以Matcher对象返回,我们要知道匹配的结果,就要知道怎么处理这个Matcher,用法
Matcher matcher = p.matcher("varchar(20)");
下面来说下Java正则表达式对组的处理:
我们很容易想到要使用Matcher的group方法,直接上代码
while(matcher.find()){
System.out.println(matcher.group());
System.out.println(matcher.group(1));
}
在一个while循环里可以保证多次匹配的话,都能处理到,同时避免没有匹配到的话,不处理(否则会抛异常)
不带参数的gorup()方法返回匹配到的整个字符串;
带参数的group(i)方法返回匹配到的指定的那个组(我们正则表达式里面用括号包起来的部分),记住第一组的的索引是1而不是0