Java Matcher.find()查找字符串
Matcher.find()对字符串进行匹配,匹配到的字符串可以在任何位置.
定义
public boolean find() public boolean find(int start)
例子
查找替换指定字符串
Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(text); // 操作的字符串 StringBuffer sb = new StringBuffer(); int i = 0; while (m.find()) { m.appendReplacement(sb, str); i++; //字符串出现次数 } m.appendTail(sb); //从截取点将后面的字符串接上 String s = sb.toString();
查找输出字符串
Pattern p = Pattern.compile(expression); // 正则表达式 Matcher m = p.matcher(text); // 操作的字符串 while (m.find()) { matcher.start(); matcher.end(); matcher.group(1); }
匹配字符串
Pattern p=Pattern.compile("\\d+"); Matcher m=p.matcher("22bb23"); m.find();//返回true Matcher m2=p.matcher("aa2223"); m2.find();//返回true Matcher m3=p.matcher("aa2223bb"); m3.find();//返回true Matcher m4=p.matcher("aabb"); m4.find();//返回false
总结
1. find()是部分匹配,从当前位置开始匹配,找到一个匹配的子串,将移动下次匹配的位置。
2. find()从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始。如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。