从文本中打印组名称和相应的数据

时间:2019-03-07 08:20:35

标签: regex python-3.x

借助regex101.com,我为我的数据编写了一个正则表达式模式。

regex=r"(?P<tag_name>\w+), {(('\w+': '(\w+|\w+-\d)')?,?\s?('\w+': '(\w+|\d.\d{1,})')?)?}, (?P<text>[\w .,]+)"

sample.txt中的数据具有以下类型:

tag1, {'id': 'line_1', 'Prob': '0.96'}, None 
tag2, {'a_id': 'aid'}, None 
tag3, {}, John 
x, {},   
tag3, {}, Doe 

现在,我希望所需的输出以以下方式存储在文本文件中:

    Line_number: line_1
    <group_name_tag1>: None
    <group_name_tag3>: John
    <group_name_tagx>: 
    <group_name_tag3>: Doe

我已经尝试关注

import re
regex=r"(?P<tag_name>\w+)?,\s({('id':\s'(?P<Line_Number>\w+)',\s'Prob':\s'(\d.\d{1,}|\w+)')?},)?([\w .]+)"
temp=[]
with open("sample.txt", "r") as ins:

    for line in ins:
        temp.append(re.findall(regex, line, re.I))

但是没有得到想要的输出

0 个答案:

没有答案