正则表达式中捕获组的使用

String s1 = "//home//guo//Java//workspace//newbee//src//com//newbee//brooder//RtfMain.png";
        String regExp = ".+////(.+//..+)$";        // 取文件名,注意()是捕获组
        //String regExp = ".+////.+(//..+)$";    // 取文件后缀,注意()是捕获组
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(s1);
        System.out.println(m.find());
        System.out.println(m.group(1));

 

 

捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:

1     ((A)(B(C)))
2     /A
3     (B(C))
4     (C)

组零始终代表整个表达式。

你可能感兴趣的:(c,正则表达式,String)