在单词和引号之间拆分字符串

Split string between words and quotation marks

我目前有这个字符串:

"display_name":"test","game":"test123"

我想拆分字符串以便获得值 test。我浏览了整个互联网并尝试了一些东西,但我无法让它工作。 我发现使用这个正则表达式可以完成使用引号的拆分:\"([^\"]*)\"。所以我尝试了这个正则表达式:display_name:\":\"([^\"]*)\"game\",但这返回了 null。我希望有人可以向我解释为什么我的正则表达式不起作用以及应该如何完成。

您忘记在 "game" 之前包含 ",逗号并且您还需要删除 display_name

之后多余的冒号
display_name\":\"([^\"]*)\",\"game\"

\"display_name\":\"([^\"]*)\",\"game\"

现在,打印组索引 1。

DEMO

Matcher m = Pattern.compile("\"display_name\":\"([^\"]*)\",\"game\"").matcher(str);
while(m.find())
{
System.out.println(m.group(1))
}

我觉得你可以做得更简单,like this:

/(\w)+/g

这个小正则表达式将获取您所有的字符串。


您的 java 代码应该类似于:

Pattern pattern = Pattern.compile("(\w)+");
Matcher matcher = pattern.matcher(yourText);
while (matcher.find()) {
    System.out.println("Result: " + matcher.group(2));
}

我还想指出,@AbishekManoharan 注意到它看起来像 JSON