String message = "dadfagdagfghh[file=sldfkjal.jpg,url=dalfkjkt.com][file=dlafjklt.png,url=aaeiotub]"
我期待能够得到一个数组,其中包含所有 [] 中的 file 对应的值,在上面这个例子中,我期望得到的结果为: [ "sldfkjal.jpg", "dlafjklt.png" ]
上面这个例子里看着明显无意义的地方,比如 dadfagdagfghh 这种,就表示这块内容无法事先规定好,各种情况都有可能。同时 [] 这个会有多少个也无法事先规定好。
Pattern regex = Pattern.compile("file=(.*),url");
Matcher matcher = regex.matcher(message);
if(matcher.find()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(1));
}
我自己现在是这么处理的。。。但是很遗憾两次 group(1) 的结果都是同一个值。。
谢谢解答
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.