我有一个巨大的字符串,它包含许多集合,每个集合由,
分隔。每个集合中都有键值对,每对都用&
分隔。在
这里有个小例子
tag=43&id=8787&type=video/webm;+codecs="vp8.0,+vorbis"&quality=medium,type=video/webm;+codecs="vp8.0,+vorbis"&quality=medium&tag=172&id=8978,tag=41&type=video/webm;+codecs="vp8.0,+vorbis"&id=1738&quality=medium
此字符串包含以下集合(3个集合,每个集合以,
分隔):
我想写一个正则表达式来将原始字符串拆分成一组键值对。我试过了
sets = huge_string.split(',')
但显然这行不通,因为在一对键值中还有一个逗号:
type=video/webm;+codecs="vp8.0,+vorbis" # <--- this is causing problem!
在这里,,
引起了问题。在
如何编写正则表达式来完成这个任务?我正在使用Python 3.3.1
。在
我现在不知道有多少双了
我将这样解析response by Youtube API:
这将输出一个
dict
的列表,其中存储每个链接的所有信息。当然,上面的代码是一个概念的演示。应该减少假设,并在实际代码中添加检查。在Youtube API返回MIME类型} 对其进行解码。在
application/x-www-form-urlencoded
的响应,因此我们需要使用^{url_encoded_fmt_stream_map
键包含的值是URL编码字符串的逗号分隔列表,因此我们需要将其沿逗号,
拆分,并用urllib.parse.parse_qs
对每个标记进行解码。不用担心编解码器描述中的逗号,因为它们已经是URL编码的,因此不会干扰拆分。在相关问题 更多 >
编程相关推荐