find方法疑惑,有解释源码的没
package zhenze;
import java.util.Arrays;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
* 获取功能:
* 获取下面这个字符串中由三个字符组成的单词
* da dajidj djj iioio opop iop
*
* */
public class fenge {
public static void main(String[] args) {
//定义字符串
String s="da dajidj djj iioio opop iop";
//规则
String reg="\\b\\w{3}\\b";
//把规则编译成模式对象
Pattern p=Pattern.compile(reg);
//通过模式对象得到匹配器对象
Matcher m=p.matcher(s);
//调用匹配器对象的功能
//通过find方法就是查找有没有满足条件的子序列
boolean flag=m.find();
System.out.println(flag);
//如何得到值呢?
String ss=m.group();
System.out.println(ss);
//再次调用find方法,find方法会接着上次find之后的继续找?为什么不是重新从头找?
flag=m.find();
System.out.println(flag);
//如何得到值呢?
ss=m.group();
System.out.println(ss);
//一定要先find.然后再group
while(m.find()) {
System.out.println(m.group());
}
}
}