#regex #python-3.x
#регулярное выражение #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))
Но не получается желаемый результат
Комментарии:
1. Почему
<group_name_tag2>: None
этого нет в выходных данных?2.
{'a_id': 'aid'}
бесполезно.3. Если это упрощает его использование, я могу удалить его вручную
4. Вы можете использовать это регулярное выражение: regex101.com/r/aFBwtU/1