Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
Happening now at the Russian House Brussels: the official Russian language proficiency exam with the Pushkin Institute.
Good luck to all participants!
Прямо сейчас в Русском доме проходит государственный экзамен по русскому языку совместно с Институтом Пушкина.
Желаем удачи участникам!
#RussianHouseBrussels#РусскийДомБрюссель#RFL#TRKI#PushkinInstitute
🎉Внимание, учителя Армении!
Стартует приём заявок на масштабный конкурс «ЛУЧШИЙ УЧИТЕЛЬ ПО-РУССКИ» — и это ваш шанс заявить о себе на всю страну!
📚 Участвовать могут не только преподаватели русского языка и литературы,
но и все педагоги, которые ведут предметы на русском языке —
из любого уголка Армении!
📌Что нужно сделать?
Просто заполнить регистрационную форму 👉https://forms.yandex.ru/u/6863d50290fa7b15c9cc4627/
🗓️ До 1 октября включительно!
🎓Каждому участнику — диплом,
а победителям — ценные призы или поездка в Россию!
Не упустите возможность показать свой профессионализм и любовь к русскому языку!
👥 Организаторы:
Представительство Россотрудничества в Армении
Институт русского языка им. А. С. Пушкина
Посольство РФ в РА
Министерство образования, науки, культуры и спорта РА
📢 Условия: https://disk.yandex.ru/d/YwZJetLFCabwlA
#ЛучшийУчительПоРусски#КонкурсУчителей#РусскийЯзык#Россотрудничество#УчителяАрмении#ОбразованиеРА#PushkinInstitute
@RSGovArmenia
🎉Внимание, учителя Армении!
Стартует приём заявок на масштабный конкурс «ЛУЧШИЙ УЧИТЕЛЬ ПО-РУССКИ» — и это ваш шанс заявить о себе на всю страну!
📚 Участвовать могут не только преподаватели русского языка и литературы,
но и все педагоги, которые ведут предметы на русском языке —
из любого уголка Армении!
📌Что нужно сделать?
Просто заполнить регистрационную форму 👉https://forms.yandex.ru/u/6863d50290fa7b15c9cc4627/
🗓️ До 1 октября включительно!
🎓Каждому участнику — диплом,
а победителям — ценные призы и поездка в Россию!
Не упустите возможность показать свой профессионализм и любовь к русскому языку!
👥 Организаторы:
Представительство Россотрудничества в Армении
Институт русского языка им. А. С. Пушкина
Посольство РФ в РА
Министерство образования, науки, культуры и спорта РА
📢 Условия: https://disk.yandex.ru/d/YwZJetLFCabwlA
#ЛучшийУчительПоРусски#КонкурсУчителей#РусскийЯзык#Россотрудничество#УчителяАрмении#ОбразованиеРА#PushkinInstitute
@RSGovArmenia
🌍 Институт Пушкина приглашает к участию в XXI Международной олимпиаде по русскому языку для зарубежных школьников им. В.Г. Костомарова
✅ Олимпиада имеет богатую историю, начавшуюся в 1972 году, и является одним из самых престижных мероприятий в области русского языка для зарубежных учащихся.
🏆 Олимпиада проводится в три этапа: онлайн-отбор, онлайн-полуфинал и очный финал в Москве. К участию приглашаются ученики старших классов зарубежных школ, изучающих русский язык как иностранный, ученики старших классов зарубежных школ с русским языком обучения, а также индивидуальные участники, изучающие русский язык самостоятельно. Регистрация открыта до 17 августа 2025 года на сайте https://olympiada.pushkininstitute.ru/XXI/
❗️ К участию в олимпиаде не допускаются школьники, имеющие вид на жительство, гражданство Российской Федерации или подавшие заявление о получении гражданства Российской Федерации.
📝 Участникам предстоит продемонстрировать свои знания в различных аспектах русского языка, литературы и культуры. Задания разработаны ведущими специалистами Института Пушкина и охватывают широкий спектр тем, от грамматики до страноведения России.
🎓 Победители и призеры олимпиады получат ценные награды, включая возможность бесплатного обучения в Институте Пушкина в течение двух недель по программам дополнительного образования.
@rossotrudnichestvo@rusembgreece@sootechestvennikigreece
#ИнститутПушкина#ОлимпиадаПоРусскомуЯзыку#РусскийЯзыкЗарубежом#PushkinInstitute#УчимРусский#RussianLanguageOlympiad#РусскийЯзык#РусскаяКультура#РусскийКакИностранный#RussianAsForeign#МеждународнаяОлимпиада