正则表达式在双引号和内括号内获取字符串

时间:2014-07-30 22:42:19

标签: java regex

这是我的字符串测试:

[{"orange":["1.00","5"]},{"apple":["2.00","5"]},{"grapes":["3.00","5"]}]

我如何用双引号获取字符串,由每两个括号{}拆分,我希望输出如下: 第一轮:

orange
1.00
5

第二循环:

apple
2.00
5

第3次循环:

grapes
3.00
5


"\\{(.*?)\\}" 

这个正则表达式获取括号内的数据,我也希望从该匹配中得到双引号之间的所有字符串。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用此正则表达式

\{"([^"]+)":\["([^"]+)","([^"]+)

并从第1组,第2组和第3组中检索标记。

the Regex Demo 中,查看右侧窗格中的论坛。

在Java中:

Pattern regex = Pattern.compile("\\{\"([^\"]+)\":\\[\"([^\"]+)\",\"([^\"]+)");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
        System.out.println( regexMatcher.group(1) );
        System.out.println( regexMatcher.group(2) );
        System.out.println( regexMatcher.group(3) );
    }