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

时间:2011-03-13 21:06:46

标签: java regex

如果我有这个输入字符串:{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,13-mar-2011,hello]}

如何获得字符串“matt”,“13-mar-2011”和“hello” - 当它们可能有多少变量时?如果它只是3就很容易。

1 个答案:

答案 0 :(得分:2)

你可以尝试使用find功能,它应该找到下一个匹配,下一个和下一个匹配... 我不知道你是否必须修改你的模式。

matcher.find()