Мне нужно захватить и вернуть список всех совпадений шаблона регулярного выражения. Рассмотрим следующий пример:
text_dict = {'text1':'1234abc456', 'text2':'123abe456xyz', 'text3':'123abd456'}
text_find = re.compile('\D+')
results = {}
for key, val in text_dict.items():
for match in text_find.finditer(val):
results[key] = match.group(0)
Печатный словарь results
возвращает следующее:
for k, v in results.items():
print(k,v)
text1 abc
text2 xyz
text3 abd
Однако это не правильно. Результаты должны соответствовать печатному результату ниже:
for key, val in text_dict.items():
for match in text_find.finditer(val):
print(f'{key} {match.group(0)}')
text1 abc
text2 abe
text2 xyz
text3 abd
Объект соответствия сохраняет только последний сопоставленный объект, когда я присваиваю результат словарю. Если я использую список и добавляю, l oop объединяет все совпадения итеративно, что также неверно. Как сохранить все совпадения в списке?