python中re.sub的使用 --解读一段代码

json='{ title: "条纹针织衫+蓬蓬裙套装", picSrc: "http://d05.res.meilishuo.net/pic/_o/15/f5/f2e233bba04513eb355f2995a3a9_640_900.cf.jpg_00fd9b08_s7_450_680.jpg", twitterId: "3741620043" }'
print re.sub(r'(,?)(\w+?): ',r"\1'\2':",json)


疑惑:这里的正则r‘(,?)(\w+?): ’ 和 r'\1'\2''是什么意思?

首先r的意思是row data ,原始数据,就是不用转义的

(,?)(\w+?): 该正则的意思就是 先匹配0或者1次,;然后再匹配无数个字母或者数字 0次或者1次

把这两次的匹配分成 1组 和 2组

对于这个json  \1 没有任何东西 是个空字符串,(,?)里的,也可以写成# 反正就是让他输出空串

\2 匹配到:前面的key

所以在key前面加单引号 就成了\1'\2'

 

posted on 2015-10-20 16:43  ggbond1988  阅读(885)  评论(0编辑  收藏  举报

导航