python 正则表达式处理不规范json

原字符串  { key1: "value", key2:"value", key3:"value"...}
需要把key1, key2, key3这种都加上引号,变成:
{ "key1": "value", "key2":"value", "key3":"value"...} 
 
实现代码:
before = '{ key1: "value", key2:"value", key3:"value"}'
re_item = re.compile(r'(?<=[{,])\w+')
after = re_item.sub("\"\g<0>\"", inputvalue)
搞定!
其中(?<=...)表示之前的字符串内容需要匹配表达式才能成功匹配,但是不消耗字符串内容
如(?<=[{,])表示在{或,之后的字符串
个人感觉正则表达式确实非常强大,用正则表达式写出的代码,可以用短小精悍来形容,但是缺点也很明显,就是代码可读性太差。
posted @ 2016-02-03 12:16  超超xc  Views(978)  Comments(0Edit  收藏  举报
I suppose,were childrenonec.