我需要在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"}]}]}
所以我回到了guids
感谢所有指针
答案 0 :(得分: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/
中的测试数据答案 1 :(得分: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]