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

时间:2015-06-12 16:49:10

标签: java regex split

我目前有这个字符串:

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

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

2 个答案:

答案 0 :(得分:1)

您忘记在/** * Sets the transform for the GraphicsContext to rotate around a pivot point. * * @param gc the graphics context the transform to applied to. * @param angle the angle of rotation. * @param px the x pivot co-ordinate for the rotation (in canvas co-ordinates). * @param py the y pivot co-ordinate for the rotation (in canvas co-ordinates). */ private void rotate(GraphicsContext gc, double angle, double px, double py) { Rotate r = new Rotate(angle, px, py); gc.setTransform(r.getMxx(), r.getMyx(), r.getMxy(), r.getMyy(), r.getTx(), r.getTy()); } 之前加入",逗号,还需要在"game"

之后删除多余的冒号
display_name

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

现在,打印组索引1。

DEMO

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

答案 1 :(得分:0)

我认为你可以更轻松地做到这一点,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