package regexp; import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; public class NumberCount { public static void main(String[] args) { Integer c[] = new Integer[] { 2, 3, 2, 2, 2, 5, 3, 2, 2, 6, 2, 2, 6, 2, 2, 3, 9, 1, 2, 2 }; Arrays.sort(c); String str = ""; for (int i = 0; i < c.length; i++) { str += c[i]; } Matcher m = Pattern.compile("//G(//d)//1*").matcher(str); while (m.find()) { System.out.println(m.group(1) + ":" + m.group().length()); } } } //G 上一次匹配边界 (//d) 包含某一数字的分组1 //1* 分组一中的内容0或多个 Pattern p3=Pattern.compile("(//d(//d))//2");//小括号代表一个组; String s3="122"; Matcher m3= p3.matcher(s3); p(m3.matches());