想问下python怎么用正则匹配双引号里面的内容呢?
我用的是py3.8的,想用正则匹配以下数据{:["科目\时间",["流动资产","元",0,true,false],["货币资金","元",2,false,true],[...
我用的是py3.8的,想用正则匹配以下数据
{:["科目\时间",["流动资产","元",0,true,false],["货币资金","元",2,false,true],["以公允价值计量且其变动计入当期损益的金融资产","元",2,false,true],["应收票据及应收账款","元",2,false,true]}
要把里面的的字符串都提取出来,就像下面这样,每个项给追加到一个字典变量里面
科目\时间 替换成 科目\年度
流动资产(元)
货币资金(元) 展开
{:["科目\时间",["流动资产","元",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)
源代码(注意源代码的缩进)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询