Java 使用正则表达式获取重复模式

Java 使用正则表达式获取重复模式,java,regex,Java,Regex,如果我有这个输入字符串:{post:[matt]} 我想得到“matt”当前所在的字符串,我会使用以下命令: Pattern pattern = Pattern.compile("^\\{(.+):[(.+)]\\}$") Matcher matcher = pattern.matcher("{post:[matt]}"); if(matcher.matches()) { // pattern matches input string String str

如果我有这个输入字符串:{post:[matt]}

我想得到“matt”当前所在的字符串,我会使用以下命令:

Pattern pattern = Pattern.compile("^\\{(.+):[(.+)]\\}$")
Matcher matcher = pattern.matcher("{post:[matt]}");
    if(matcher.matches()) {
        // pattern matches input string
        String str1 = matcher.group(2);
但是如果我有这样一个字符串:{post:[matt,2011年3月13日,你好]}


如果字符串“matt”、“13-mar-2011”和“hello”的数量可能不尽相同,我该如何获取它们?如果是3,那就很容易了。

你可以尝试查找功能,它应该查找下一个匹配项,下一个,下一个。。。 我不知道你是否需要修改你的模式