我有一个巨大的字符串,其中包含许多集合,每个集合由,
. 每个集合中都有键值对,每对由 . 分隔&
。
这是一个小例子,
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 个集合,每个集合以 分隔,
):
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
我想编写一个正则表达式将原始字符串拆分为键值对集。我试过这个,
sets = huge_string.split(',')
但显然这是行不通的,因为在一个键值对中也有一个逗号:
type=video/webm;+codecs="vp8.0,+vorbis" # <--- this is causing problem!
这,
是引起问题的原因。
如何编写正则表达式来完成这项任务?我正在使用Python 3.3.1
.
现在我不知道会有多少对,以及以什么顺序。