在计算子字符串的出现次数时,计算与正则表达式和精确子字符串的不匹配?

时间:2018-12-21 04:36:07

标签: python

为什么'tz': 'America/New_York''tz':\s+'\w+\/\w+'对字符串中子字符串的出现次数进行计数?

我要计算子字符串出现次数的字符串是从Json文件中提取的。

[{'c': 'US', 'nk': , 'tz': 'America/New_York', 'gr': 'MA', 'g': 'A6qOVH', 'h': 'wfLQtf', 'l': 'orofrog', 'al': 'en-S,en;q=0.8', 'hh': '1.usa.gov', 'r': 'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf', 'u': 'http://www.ncbi.nlm.nih.gov/pubmed/22415991', 't': 1331923247, 'hc': 31822918, 'cy': 'Danvers', 'll': [42.576698, -70.954903]}]

import re
d=open("filepath")
str1=d.read()
list1=re.findall(r"('tz':\s+'\w+\/\w+')",str1,re.I|re.M)    
w=open("newfilepath","w")    
for i in list1:    
        w.writelines(i)
        w.writelines("\n")    

1 个答案:

答案 0 :(得分:0)

不要使用正则表达式,请使用ast.literal_eval()来解析Python文字。

import ast
with open("filepath") AS d:
    str1 = d.read()
    list1 = ast.literal_eval(str1)

with open("newfilepath", "2") AS w:
    for i in list1:
        w.write("'tz': " + i['tz'] + "\n")