Рассмотрим эту строку:
s="""A25-54 plus affinities targeting,Demo (AA F21-54),
A25-49 Artist Affinity Targeting,M21-49 plus,plus plus A 21+ targeting"""
Я пытаюсь исправить свой шаблон, который в настоящее время не отображает все возрастные группы в строке (A 21+
отсутствует в текущем выводе).
Текущая попытка:
import re
re.findall(r'(?:A|A |AA F|M)(\d+-\d+)',s)
Выход:
['25-54', '21-54', '25-49', '21-49'] #doesnot capture the last group A 21+
Ожидаемый результат:
['A25-54','AA F21-54','A25-49','M21-49','A 21+']
Как вы видите, я бы хотел иметь последнюю группу, которая A 21+
, которая в настоящее время отсутствует в моем выводе.
Также, если я могу получить строку, связанную с группой захвата. в настоящее время мой вывод, кроме того, что он не охватывает все группы, не содержит строки до возрастной группы. Например: я хочу 'A25-54
вместо '25-54'
, я думаю, из-за ?:
.
Ценю любую помощь, которую я могу получить.