import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String str = "1234567abc890";
Pattern p = Pattern.compile("12((\\d{2})(.*?))9",Pattern.DOTALL);
Matcher m = p.matcher(str);
if (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
System.out.println("group(" + i + ")=" + m.group(i));
}
}
}
}
输出
group(0)=1234567abc89
group(1)=34567abc8
group(2)=34
group(3)=567abc8
可见输出顺序为从左到右,从外到内的索引顺序。
group(0)代表整个字符串