python 正则增量
问题描述
下面的是已经用re.sub采集出来的了,需要在每个 {} 前面加上 “1”: “2”: “3”,请问该如何写这个:
’{'nClass':-1,'nIcon':16},{'nClass':-1,'nIcon':15},{'nClass':-1,'nIcon':14}’
最终效果:
’“1”:{'nClass':-1,'nIcon':16},“2”:{'nClass':-1,'nIcon':15},“3”:{'nClass':-1,'nIcon':14}’
问题解答
回答1:你描述的不够清楚,你说结果应该是一个list,你是要转换成dict吗?
import jsonstr = ’{'nClass':-1,'nIcon':16},{'nClass':-1,'nIcon':15},{'nClass':-1,'nIcon':14}’lst = json.loads(’[{}]’.format(str))l = [’'{}':{}’.format(i+1, json.dumps(v)) for i,v in enumerate(lst)]print ’,’.join(l)回答2:
import redata = ’{'nClass':-1,'nIcon':16},{'nClass':-1,'nIcon':15}, {'nClass':-1,'nIcon':14}’# 提取为数组data = re.findall(’((?=,s?)?{.*?})+’, data)# 下标从1开始, 所以i+1print ’,’.join([’'%d':%s’ % (i+1, v) for i, v in enumerate(data)])# '1':{'nClass':-1,'nIcon':16},'2':{'nClass':-1,'nIcon':15},'3':{'nClass':-1,'nIcon':14}
相关文章:
