br['35']='266,A 111,B 222'我需要匹配出35,正则该怎么写啊

解决方案 »

  1.   

    String str = "br['35']='266,A 111,B 222'";
    Pattern pattern = Pattern.compile("br\\['(\\d*)'\\]");
    Matcher matcher = pattern.matcher(str);
    while (matcher.find()) {
              System.out.println(matcher.group(1));
    }
      

  2.   

    哈哈,一刷新,发现一楼有答案了,现在我养成一个好习惯,发答案前先剪贴复制刷新。换个写法先。String str = "br['35']='266,A 111,B 222'";
    Pattern p = Pattern.compile("(?:br\\[')(\\d+)(?:'\\])");
    Matcher m = p.matcher(str);
    while(m.find()){
    System.out.print(m.group(1));
    };
      

  3.   


    str = "br['35']='266,A 111,B 222'";
    str = str.replaceAll(".*?\\['(\\d+)'\\].*","$1");
    System.out.println(str);