正则表达式Pattern 类与Matcher类
Pattern类
pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。然后利用该Pattern对象创建Matcher对象。执行匹配所得的状态保存到Matcher对象中,一个Pattern对象可拥有多个Matcher对象。
String str = "中国China";
//模式类 相当于 字符串表达式
//含有A-Z的大写字母
Pattern p = Pattern.compile(".*[A-Z].*");
//匹配器类
Matcher m = p.matcher(str);
//结果为true,因为含有C
System.out.println(m.matches());
整合上面语句可以得下面简单语句,但是,此语句每次都要重新编译新的Pattern对象,效率不高
String str = "中国China";
//结果为true,因为含有C
System.out.println(Pattern.matches(".*[A-Z].*", str));
Matcher类
常见的方法有:find(); group(); start(); end(); lookingAt(); matcher(); reset();
find(); 返回目标字符串是否含有与Pattern匹配的子串。
group(); 返回上一级与Pattern匹配的子串。
matcher(); 返回整个目标字符串与Pattern是否匹配,结果为true或false。
find()与group()用法
String str = "中国China";
Pattern p = Pattern.compile("[a-z]+");
Matcher m = p.matcher(str);
while (m.find()) {
//结果为hina,因为与之匹配
System.out.println(m.group());
}