试图在java中匹配这个正则表达式:

时间:2014-08-23 16:03:03

标签: java regex string

我有以下字符串:

"value":"ValueNumber1","label":"Peppe "},{"value":"ValueNumber2","label":"LoL"

我想拆分这个字符串,只获取" value"的内容,在这种情况下,例如我想检索" ValueNumber1"和" ValueNumber2" (没有双引号)。

我尝试过这样的事情,但没有成功:

StringToBeParsed.split("value\":\"+.\""));

你有什么建议吗? Tnx提前。

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式:

value":"(.*?)"

<强> Working demo

MATCH 1
1.  [9-21]  `ValueNumber1`
MATCH 2
1.  [51-63] `ValueNumber2`

答案 1 :(得分:0)

使用 Json

public static void main(String[] args) {

        String s = "{\"values\":[{\"value\":\"ValueNumber1\",\"label\":\"Peppe\"},{\"value\":\"ValueNumber2\",\"label\":\"LoL\"}]}";
        JSONObject jObject;
        try {
            jObject = new JSONObject(s);
            JSONArray the_json_array = jObject.getJSONArray("values");

            int size = the_json_array.length();
            for (int i = 0 ; i < size ; i++) {
                JSONObject another_json_object = the_json_array.getJSONObject(i);
                System.out.println(another_json_object.get("value"));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }