0

嗨,我需要一个 java 语法中的正则表达式,它将从以下 json 返回 guid 列表

{"status":0,"StressTest":[{"User":[
{"token":"0F6B271C-3D7B-4473-9B20-67E1B79778FD"},
{"token":"0FC5764C-37F3-4348-8AF9-B6A84EA578E1"},
{"token":"22ADCBA3-13FB-439C-BF0C-F383B87670DB"},
{"token":"22B5D91F-5F49-4F60-9165-5DA5241C0F37"},
{"token":"27D91B27-C2FA-4829-8434-10DF496EF139"},
{"token":"27DDD239-279C-46A1-91C7-19525624A495"}]}]}    

所以我只回来了向导

感谢所有的指点

4

2 回答 2

0

您可以使用正则表达式执行此操作,但使用 JSON 解析器会更好。当您仍然想使用正则表达式时,这个应该可以工作:

[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}

至少它适用于http://regexpal.com/中的测试数据

于 2012-12-18T13:03:26.950 回答
0

尝试

String s = "{\"status\":0,\"StressTest\":[{\"User\":["
        + "{\"token\":\"27D91B27-C2FA-4829-8434-10DF496EF139\"}" +
        "{\"token\":\"27DDD239-279C-46A1-91C7-19525624A495\"}]}]}";
String[] a = s.split(".+\\[\\{\"User\":\\[|\\]}\\]}")[1].replaceAll("\"", "").replaceAll("\\{token:", "").split("}");
System.out.println(Arrays.toString(a));

输出

[27D91B27-C2FA-4829-8434-10DF496EF139, 27DDD239-279C-46A1-91C7-19525624A495]
于 2012-12-18T14:58:12.917 回答