Функция sub в regex может принимать функцию в качестве аргумента repl.
📄 Из документации:
If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений.
Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений.
Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере:
Создаем карту замены. То есть какие строки на какие требуется менять.
remap = {
'раз': '1',
'два': '2',
'три': '3',
'четыре': '4',
'пять': '5',
}
Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match.
Используя данные этого объекта мы вычисляем замену on-the-fly!
def get_str(match: re.Match):
word = match.group(1)
return remap.get(word.lower()) or word
Пример текста.
text = '''Раз Два Три Четыре Пять
Вместе будем мы считать
Пять Четыре Три Два Раз
Мы считать научим вас
'''
Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции.
(Данный паттерн ищет отдельные слова в тексте)
>>> print(re.sub(r'(\w+)', get_str, text))
1 2 3 4 5
Вместе будем мы считать
5 4 3 2 1
Мы считать научим вас
Думаю, достаточно наглядно 🤓
#libs#regex
💥 1 сентября - встречайте МОДУ НА ФЕДЕРАЦИИ!
🔥UFW & ART VOLGA объединяют силы для грандиозного Street style Fashion Show, которого вы еще не видели!
Лучшие дизайнеры и бренды Поволжья создадут единую концепцию самого масштабного показа за всю историю региона.
Яркие образы, вдохновляющие тренды и незабываемая атмосфера - этот день станет ярким событием сентября!
Приглашаем к участию:
➡️ Бренды одежды;
➡️ Дизайнеров;
➡️ Моделей;
➡️ Партнеров и спонсоров;
➡️ СМИ;
➡️ Стилистов;
➡️ Блогеров.
Не пропустите шанс увидеть новую волну таланта и креативности!
❗️ Вход свободный для всех!
#UFW#ARTVOLGA#МодаНаФедерации#StreetStyle#FashionShow
Ульяновская мода как российский культурный феномен
В новом выпуске подкаста «Голоса творцов» — Алиса Богатова, генеральный продюсер недели моды в Ульяновске UFashion Week и автор проекта «Мода улиц».
👉🏻 Обсудили стратегическую роль модной индустрии для региона. Алиса рассказала, как работает взаимодействие с жителями города и бизнес-сообществом, какие барьеры приходится преодолевать при запуске крупных проектов и какие управленческие решения помогают справляться с вызовами.
Мало кто знает, но именно она запустила Ассоциацию лёгкой промышленности и дизайна Ульяновской области, которая стала платформой для профессионального сообщества, стимулируя интеграцию в федеральную повестку.
А чтобы лучше изучить модную сферу Ульяновска — приходите 30 августа на улицу Федерации, там развернётся «Мода улиц». Темой станет джаз, и именно он задаст ритм показу. Начало в 16:00 🔥
Проект «Голоса творцов» реализуется АНО «Центр содействия реализации гуманитарных и обучающих проектов» совместно с Домом молодых и Фондом креативных индустрий Ульяновской области при поддержке Президентского фонда культурных инициатив.
#голосатворцов#ПФКИ#грантдлякреативныхкоманд#ульяновск#креативныеиндустрии#UFW25#модаулиц#UFW
🎉 В Ульяновске завершился юбилейный 10-й сезон Ulyanovsk Fashion Week!
🌟 Темой юбилейного показа стала “Вселенная и другие Миры”, которая объединила более 50 показов детских и взрослых коллекций в “Волга-Спорт-Арене”!
Сегодня становится все более модным одеваться в российские бренды, которые предлагают уникальные истории, отражающие традиции и символы разных регионов страны. Благодаря этому, российская мода становится все более разнообразной и многогранной, создавая богатую и интересную креативную индустрию.
✨ В этом году мы увидели невероятные коллекции от дизайнеров Евгении Климковой (бренд «Klimkova kids», Москва), Евгении Бесединой (авторское ателье «Studio Dress», Санкт-Петербург), Анастасии Кучуговой (бренд Kuchugova, Москва) и многих других.
🌏 Международный статус Ulyanovsk Fashion Week подтвердила делегация из Беларуси, представившая коллекцию “Скарб” от бренда FASHION CENTRE, которая вдохновлена льном, его многогранностью и плавностью.
🤝Ulyanovsk Fashion Week – это не только мода, но и бизнес! В рамках форума “Сделано в Ульяновской области” прошли встречи с байерами из Беларуси и Казахстана, а также обсуждалось сотрудничество с центром моды Республики Беларусь.
Напомним, что первая Неделя моды в Ульяновске прошла в 2018 году и изначально показы проходили раз в год. Однако сейчас Ulyanovsk Fashion Week – это модный феномен, который развивает креативную индустрию региона и вдохновляет новые поколения дизайнеров!
⚡️Ulyanovsk Fashion Week – единственная неделя моды в России, которая была презентована в рамках Московской недели моды в марте 2024 года.
#UlyanovskFashionWeek#UFW#мода#стиль#дизайн#Ульяновск#СделановУльяновскойОбласти#креативнаяиндустрия