求一个JAVA的正则表达示

第一个是[#1]
然后每个是
[#2]、[#3]、[#4]、[#5]、[#6]
怎么匹配这样的数字符串啊
[#]这些都是定了的,数字不定

让我想到了万恶的面试官。

比如说String str = "badfdsfdsafsadf[#1],sfdsafsdfasdf[#2],skdf;sakfdjaksfdj"
1.判断里面有多少个这样匹配的
2.能匹配的换成指定字符串内容

\[#(\d+)\]

1.groupCount 获取符合规则的总数
2.replaceAll("\[#\d+\]","you want");

"\[#[1-9]\]"

\[#(\d+)\] group获取即可

[code="java"]
public static void main(String[] args) {

    String str = "badfdsfdsafsadf[#1],sfdsafsdfasdf[#2],skdf;sakfdjaksfdj" ; 
    Matcher matcher = Pattern.compile("\\[#(\\d+)\\]").matcher(str);
    StringBuffer sb = new StringBuffer(); 
    while(matcher.find()){
        matcher.appendReplacement(sb, "ReplaceStr"); 
    }
    matcher.appendTail(sb); 
    System.out.println(sb.toString());

}

[/code]