我想解析一个字符串,比如{"aaa","bbb", "ccc"}
to aaa,bbb,ccc
。我怎样才能在java的正则表达式中做到这一点?我尝试编写如下代码:
String s = "{\"aaa\",\"bbb\", \"ccc\"}";
Pattern pattern = Pattern.compile("\\{\\\"([\\w]*)\\\"([\\s]*,[\\s]*\\\"([\\w]*)\\\")*}");
Matcher matcher = pattern.matcher(s);
if(matcher.find()) {
StringBuilder sb = new StringBuilder();
int cnt = matcher.groupCount();
for(int i = 0; i < cnt; ++i) {
System.out.println(matcher.group(i));
}
}
但输出是
{"aaa","bbb", "ccc"}
aaa
, "ccc"
我有一种感觉,这是关于小组和不贪婪匹配的东西,但我不知道该怎么写,有人可以帮我吗?非常感谢!
PS我知道如何使用类似的方法来做到这一点String.replace
,我只是想知道它可以通过正则表达式来完成。谢谢
感谢您的所有回答和时间,但我首先想要的是在 java 中使用正则表达式的委托解决方案,尤其是在regex
. 我想知道如何使用group
来解决它。