前言:本博客中我们将对我们使用的数据进行说明,对使用到的正则表达式进行逐个字符的解释,并且给出进一步详细学习正则表达式的资料。
一.问题描述:
我在做一个网站搜索记录的分割工作,原始数据如下:
x= '{"娇妻有毒路明": "0.013", "娇妻有毒%2c陆少宠上瘾": "0.078",\
"娇妻有毒老公你放松点": "0.021", "娇妻有毒陆明白芬": "0.011", "娇妻有毒:陆少,宠上瘾": "0.051"}'
x是一个字符串,我准备先提取{ }里面的数据,然后将每个项用逗号分割出来,得到如下的形式:
['"娇妻有毒路明": "0.013',
'娇妻有毒%2c陆少宠上瘾": "0.078',
'娇妻有毒老公你放松点": "0.021',
'娇妻有毒陆明白芬": "0.011',
'娇妻有毒:陆少,宠上瘾": "0.051"']
但是我用str.split(",",1)分割的时候得到的是如下的形式:
['{"娇妻有毒路明": "0.013"',
' "娇妻有毒%2c陆少宠上瘾": "0.078",
"娇妻有毒老公你放松点": "0.021",
"娇妻有毒陆明白芬": "0.011",
"娇妻有毒:陆少,
宠上瘾": "0.051"}']
这里有两个问题:第一:将花括号也分割在了第一个和最后一个项里面了,第二:在划分原始数据最后一项
"娇妻有毒:陆少,宠上瘾": "0.051"
的时候将引号里面的逗号也当做一个分割符了,最后一项分割得到的结果为:
"娇妻有毒:陆少,
宠上瘾": "0.051"}'
两项。
二.解决方法:
首先用正则表达式将花括号中的数据提取出来: