Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
¡Se quebró! 🤯
🔴 Con la voz entrecortada y al borde de las lágrimas, #Faitelson ofreció disculpas a #JoséRamónFernández durante un evento en #Pachuca📹👀
https://sinlineamx.com/faitelson-se-disculpa-con-jose-ramon-fernandez/
🚆Поезд Ciudad de México–Pachuca: час пути и новые возможности
В 2027 году в Мексике планируют запустить скоростной поезд, который свяжет столицу страны с городом Пачука всего за 1 час 15 минут. Президент Клаудия Шейнбаум сообщила, что проект должен быть завершён в первом полугодии 2027 года.
Что даст новый поезд?
— Удобное и быстрое сообщение между двумя важными городами.
— Создание новых рабочих мест и стимул для бизнеса.
— Повышение транспортной доступности для жителей и туристов.
Параллельно — строительство «Комплекса благополучия» (Polo de Bienestar)
Вдоль железнодорожной линии в штате Идальго появится масштабный комплекс площадью 950 гектаров. В нём разместятся предприятия, жилые дома, школы, больницы и зоны отдыха. По словам Шейнбаум, этот «Комплекс благополучия» станет новым центром экономического и социального роста региона.
Поддержка и сотрудничество
Президент поблагодарила владельцев общинных земель за содействие, а также военных инженеров за профессионализм и честность при строительстве.
«Мы движемся вперёд, и скоро этот поезд станет реальностью. Трансформация продолжается»,
— подчеркнула Шейнбаум.
Запуск поезда и строительство «Города благополучия» могут стать важнейшим шагом в развитии центрального региона Мексики, соединяя современные транспортные решения с созданием комфортной городской среды.
#Мексика#Транспорт#ЖД#Инфраструктура#CiudadDeMexico#Pachuca#КлаудияШейнбаум#Экономика#Развитие
👉Всегда свежие новости о странах Латинской Америки!
Mexico Liga MX🇲🇽
2026-04-04 23:00 UTC
Monterrey vs. Atletico San Luis
Predicted outcome: Monterrey❌
Predicted score: 3:1
Actual: Atletico San Luis 1:2
#Monterrey#AtleticoSanLuis
2026-04-04 23:00 UTC
Club Queretaro vs. Toluca
Predicted outcome: Toluca❌
Predicted score: 1:2
Actual: Club Queretaro 1:0
#ClubQueretaro#Toluca
2026-04-05 01:05 UTC
Cruz Azul vs. Pachuca
Predicted outcome: Cruz Azul❌
Predicted score: 2:1
Actual: Pachuca 1:2
#CruzAzul#Pachuca
2026-04-05 01:06 UTC
Leon vs. Atlas
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: Leon 2:0
#Leon#Atlas
2026-04-05 03:10 UTC
Santos Laguna vs. Club America
Predicted outcome: Club America❌
Predicted score: 1:2
Actual: Draw 1:1
#SantosLaguna#ClubAmerica
#Football#MexicoLigaMX