【发布时间】:2014-09-01 00:20:03
【问题描述】:
我需要创建一个包含键值对的字典,基于以下字符串作为示例(youtube info_videos):
status=ok&use_cipher_signature=False&allow_ratings=1&iurlmaxres=http%3A%2F%2Fi.ytimg.com%2Fvi%2F5MwJobjESqw%2Fmaxresdefault.jpg&allow_embed=1&watermark=%2Chttp%3A%2F%2Fs.ytimg.com%2Fyts%2Fimg% 2Fwatermark%2Fyoutube_watermark-vflHX6b6E.png%2Chttp%3A%2F%2Fs.ytimg.com
问题是我的正则表达式一直没有工作:
String pattern = "&(.+?)=(.+?)&.+?";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(decodedUrl);
Multimap<String, String> map = HashMultimap.create();
while(m.find()) {
map.put(URLDecoder.decode(m.group(1), "UTF-8"), URLDecoder.decode(m.group(2), "UTF-8"));
}
我在 java 中的正则表达式需要帮助。
【问题讨论】:
-
你想捕捉什么?
-
你最好在
&上拆分,然后在=上拆分。
标签: java regex dictionary youtube