Java正则表达式通过java.util.regex包下的两个类:Pattern和Matcher实现的。用法如下:
- 首先引入java包:java.util.regex.*(当然,使用java.util.regex.Matcher+java.util.regex.Pattern也是一样的。)
- 具体使用如下:①通过Pattern对象构造一个模式,具体代码为(某个特例):Pattern p = Pattern.compile("[a-z]*"); ②构造一个匹配器,Matcher m = p.matcher(str); (注意:此处str为待匹配的字符串); ③进行判断,得到结果:boolean b = m.find() 。【说明】:关于Matcher类进行匹配操作时,它提供了三种方法,这三种方法返回值均为boolean类型:匹配成功,则返回true,否则返回false。
Pattern p = Pattern.compile("([0-9]){2}([a-z]){2}",Pattern.CASE_INSENSITIVE);
//group(0)全局匹配 group(1)是第一个括号([0-9]){2} [0-9]([0-9]) 7
//而([0-9]{2})是([0-9][0-9]) 47 括号是捕获,只会捕获后面的 group()的个数不等于groupCount()
Matcher m = p.matcher("le47Ds58sds45");
// while(m.find()){}
m.find();//只匹配到第一个
System.out.println(m.group(0));
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.groupCount());
// m.find();
// .....
Pattern p1=Pattern.compile("^\\w");//转义\\
Matcher m1=p1.matcher("name");
m1.find();
// String aa=m1.replaceAll("-");
// System.out.println(aa);
String a2="set"+m1.replaceFirst(m1.group(0).toUpperCase());
System.out.println(a2);