public class Question {
public static void main(String[] args) {
String regex="(go\\w*\\s*)(to\\w*\\s*)(work\\w*\\s*)";
Pattern pattern=Pattern.compile(regex);
Matcher matcher=pattern.matcher("Let's go to1 work2, going todo workxxx,");
System.out.println(matcher.find());//是否含有
System.out.println(matcher.group());
//System.out.println(matcher.matches());//是否全部匹配
while(matcher.find()){
int groupCount=matcher.groupCount();
System.out.println("groupCount:"+groupCount);
for (int i = 1; i <= groupCount; i++) {
System.out.println(matcher.group(i));
}
}
}
}
public boolean find()
尝试查找与该模式匹配的输入序列的下一个子序列。
此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,
则从以前匹配操作没有匹配的第一个字符开始。例子中while(match.find())从"work2"后面的逗号","开始查找。
public boolean matches()
尝试将整个区域与模式匹配。
捕获组是从 1 开始从左到右的索引。
组零表示整个模式,因此表达式 m.group(0) 等效于 m.group() 。