Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
Dozens of IDPs reportedly died of famine in Hitsats camp in Tigray. Read more. https://borkena.com/2025/12/25/ethiopia-dozens-of-idps-reportedly-died-of-famine-in-hitsats-camp-in-tigray/#Ethiopia#News#Tigray#Famine#IDPs
Всемирная продовольственная программа ООН (ВПП) опубликовала обновленные данные о количестве голодающих людей. Согласно оценкам экспертов количество голодающих может в этом году достичь 270 млн человек, что на 82% больше по сравнению с аналогичным показателем до пандемии. Для предотвращения развития ситуации по негативному сценарию ВПП призывает выделить 4,9 млрд долл. США для оказания продовольственной помощи к концу года. Это позволит помочь 138 млн человек.
Основной причиной ухудшения ситуации является пандемия COVID-19, на которую наложилось падение запасов продовольствия и природные катаклизмы, такие как ураганы, саранча, а также эскалация конфликтов.
Наибольший рост уязвимости наблюдается в таких регионах, как Латинская Америка, Западная и Центральная Африка. В Латинской Америке в три раза увеличилось число людей, нуждающихся в продовольственной помощи. Всплески голода также наблюдаются в Западной и Центральной Африке, где число людей, не обеспеченных продовольствием, увеличилось на 135%, в Южной Африке – на 90%. К концу года число людей, живущих в условиях отсутствия продовольственной безопасности в городских районах только в Зимбабве, увеличится с 2,2 млн до 3,3 млн человек, что составляет 45% от общей численности городского населения страны.
Доступ к более подробной информации - на странице Центра многостороннего сотрудничества и евразийской интеграции Российского союза промышленников и предпринимателей (РСПП):
http://рспп.рф/events/news/vpp-oon-golod-nastupaet-5f071ce64de01/
#ВПП#WFP#UN#foodsecurity#famine#продовольственнаябезопасность#голод#ООН
🇵🇸Newly released footage shared by a British recruit who served at aid distribution sites run by the #Gaza Humanitarian Foundation exposes the aid system designed by Israel in cooperation with the United States to humiliate Palestinians.
Nearly 2,000 Palestinians were killed at the foundation’s distribution points in incidents that included shooting “for fun,” according to the recruit.
@EuroMedHR
#Genocide#Aid#GHF#Starvation#Famine#US#Palestine