Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> text = '''
>>> Alex:8999123456
>>> Mike:+799987654
>>> Oleg:+344456789
>>> '''
Соответственно, для выделения нужных элементов будем использовать группы. Получится такой паттерн:
(\w+):([\d+]+)
Как мы будем формировать словарь из найденных групп?
>>> import re
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append({
>>> "name": match.group(1),
>>> "phone": match.group(2)
>>> })
>>> print(results)
[{'name': 'Alex', 'phone': '8999123456'}, ...]
Можно немного сократить запись используя zip
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append(dict(zip(['name', 'phone'], match.groups())))
Но есть способ лучше! Это именованные группы в regex. Можно в паттерне указать имя группы и результат сразу забрать в виде словаря.
>>> for match in re.finditer(r"(?P<name>\w+):(?P<phone>[\d+]+)", text):
>>> results.append(match.groupdict())
То есть всё что я сделал, это добавил в начале группы (внутри сбокочек) такую запись:
(?P<group-name>...)
Теперь найденная группа имеет имя и можно обратиться к ней как к элементу списка
>>> name = match['name']
Либо забрать сразу весь словарь методом groupdict()
>>> match.groupdict()
#tricks#regex
🕯️Траурный митинг: День скорби по жертвам российской агрессии
24 февраля 2026 года исполняется четыре года с начала полномасштабного вторжения России в Украину. Присоединяйтесь к нашей акции, чтобы почтить память погибших и поддержать тех, кто продолжает бороться за свободу Украины.
🤩 Мы соберёмся, чтобы выразить единство в противостоянии российской агрессии и скорбь по жертвам войны в Украине и в России.
🤩 Кремлёвский режим унёс сотни тысяч жизней, уничтожает мирных жителей, военнопленных, гражданских активистов и политзаключённых. Мы скорбим со всеми, кто потерял близких, покинул дом, оказался в плену или подвергся пыткам.
🔥 В рамках акции также состоится поминальная служба по жертвам войны.
😀Помощь Украине – наш долг!
Мы продолжаем сбор средств на «Энергию для жизни» (мини-электростанции) и на нелетальную помощь защитникам Украины.
Также мы призываем правительства Германии и Европы максимально усилить военную помощь Украине. Только так путинский режим можно принудить к справедливому миру и предоставить Украине реальные гарантии безопасности.
Спасение Украины – спасение Европы!
📅24 февраля
🕓 19:30–21:00
📍Grabbeplatz, 40213 Düsseldorf
Мы скорбим вместе со всеми, кто потерял близких и здоровье за эти 12 лет войны, и по всем жертвам путинской агрессии и террора.
Приносите с собой плакаты, цветы и поминальные свечи.
🇺🇦Героям слава!
☠️ Убийцам позор!
#StopPutinsTerror#SaveUkraine#energy4life#WeStandWithUkraine
2 марта в 25 городах Италии прошли митинги в поддержку Украины. Их организаторы — партия Azione di Carlo Calenda и диаспоры Украины в Италии — выступили в Риме на митинге, совместно с представителями Stati Uniti d'Europa, Azione, +Europa, Italiani Radicali, Liberi Oltre, Partito Democratico, fondazione Einaudi и др.
Russi Contro la Guerra также представили свою позицию по вопросу и рассказали о несогласных в России с политикой Путина, войной и бесчеловечными условиями содержания пленных. Мы активно выразили солидарность с Украиной и обратились к Италии и ЕС с просьбой усилить поддержку Украине в этот нестабильный период.
Видео
https://m.youtube.com/watch?v=hw9gEGigQw0
#russicontrolaguerraitalia
#SaveUkraine
#People1st
#rawitaly
#FreeRussiansGlobal
23 февраля, накануне третьей годовщины полномасштабной войны России против Украины, в центре Рима прошла антивоенная акция THREE YEARS OF TERROR.
Акцию организовали активисты Russi Contro la Guerra совместно с объединением демократических диаспор Free Russians Global Свободные россияне / Free Russians Global . В своих выступлениях участники говорили о проблемах и трагедиях, которые уже три года не теряют актуальность: нечеловеческие условия содержания украинских военнопленных в российских тюрьмах, огромные тюремные сроки за инакомыслие в России, депортация детей с оккупированных украинских территорий, тотальная прокремлевская пропаганда, бомбардирующая граждан как внутри России, так и в других странах.
Активисты зачитали письма и обращения российских политических заключенных. Вот отрывок из последнего слова Алексея Горинова: «Насилие, агрессия, порождают только ответное насилие и ничего более. Вот истинная причина наших бед, страданий, наших бессмысленных жертв, разрушений объектов гражданской и промышленного инфраструктуры, наших жилищ. Давайте прекратим эту кровавую, никому не нужную бойню — ни нам, ни жителям Украины. Не пора ли оставить в покое наших соседей и заняться своими внутренними проблемами, которые нарастают, как снежный ком».
Через три года войны, когда резко меняется мировая политическая ситуация, эта акция около Римских форумов, в историческом центре европейской цивилизации, напомнила: белое – это белое, а черное – это черное. Агрессор остается агрессором, военных преступников необходимо судить, а христианская религия и церковь – это не рупор тезисов государственной власти.
В ходе акции собирали средства на закупку портативных электростанций для больниц и школ Украины (благотворительный проект «Энергия для жизни» Антивоенный Комитет России ),
После окончания акции желающие присоединились к большому шествию, организованному украинской диаспорой.
#3yearsofterror#rawitaly#russiagainstwar#WeStandwithUcraine
#russicontrolaguerra
#People1st#stoppropaganda#SaveUkraine