想问下python怎么用正则匹配双引号里面的内容呢?

我用的是py3.8的,想用正则匹配以下数据
{:["科目\时间",["流动资产","元",0,true,false],["货币资金","元",2,false,true],["以公允价值计量且其变动计入当期损益的金融资产","元",2,false,true],["应收票据及应收账款","元",2,false,true]}
要把里面的的字符串都提取出来,就像下面这样,每个项给追加到一个字典变量里面
科目\时间 替换成 科目\年度
流动资产(元)
货币资金(元)

按照你的要求用正则匹配出字符串后,把它们追加到一个字典中的Python程序如下

import re

dic={}

value=[]

s='{:["科目\时间",["流动资产","元",0,true,false],["货币资金","元",2,false,true],["以公允价值计量且其变动计入当期损益的金融资产","元",2,false,true],["应收票据及应收账款","元",2,false,true]}'

regex=r'"([^"]+)"'

result=re.findall(regex,s)

for i in range(1,len(result),2):

 value.append(result[i]+"("+result[i+1]+")") 

key=result[0]

key=key.replace("科目\时间","科目\年度")

dic[key]=value

print(dic)

源代码(注意源代码的缩进)

温馨提示:答案为网友推荐,仅供参考
相似回答