Функция 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
🖼Бесплатная выставка «Крошечная пустошь»
Миниатюрный мир Петера Чаквари завоевал популярность во всём мире 🌍. Его проект Tiny Wasteland — это фотографии в масштабе 1:87, где крошечные фигурки оказываются в самых неожиданных ситуациях.
Здесь дайвер плавает в банке с солёными огурцами, пожарные тушат острую паприку 🌶, а теннисисты играют на поле из кухонной губки 🧽. Чаквари уже создал более 200 таких работ, и каждая из них заставляет улыбнуться и посмотреть на привычные вещи под новым углом.
✨ Это выставка, где юмор, гротеск и фантазия сливаются воедино, превращая повседневность в яркое приключение.
📍 Артмуза, 13-я линия В.О., д. 70
📆 24 сентября — 24 ноября, ежедневно 11:00 — 22:00
💸 Вход свободный
#артмуза#выставкаспб#бесплатновспб#кудасходитьспб#искусствоспб#современноеикусство#spbfree
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
🌕Полное лунное затмение над Петербургом!
Уже в воскресенье, 7 сентября, жители города смогут наблюдать редкое астрономическое явление — полное лунное затмение. 🌌
✨ Детали:
🔭 Луна будет находиться в тени Земли 1 час 22 минуты
🌑 Пик затмения — 21:12 (мск)
🔴 В это время Луна приобретает загадочный красноватый оттенок
Не забудьте загадать желание, когда увидите «кровавую Луну»!
#ЛунноеЗатмение#АстрономияСПб#НебоСПб#СобытияСПб#КудаПойтиСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
🎨Бесплатная галерея с яркими картинами, где искусство живёт в цвете и настроении!
Русско-американский художник Дмитрий Стрижов — мастер, чьи работы экспонировались в лучших галереях Нью-Йорка. После 15 лет за океаном он вернулся в Петербург и открыл школу-галерею PLOSKOSTI, где делится опытом и вдохновением с молодыми художниками 🎨
Его картины невозможно спутать с другими — яркие краски, узнаваемые персонажи и мощная энергия, будто сошедшая со стены. Сейчас в галерее проходит выставка «Искушение самурая» — про внутреннюю силу, путь и гармонию.
📍 ул. Радищева, 42
⏰ Пн–Вс 12:00–21:00
💵 Вход свободный
#галереяспб#искусствоспб#питербесплатно#бесплатноспб#афишаспб#кудасходитьспб#spbfree#spbevent#гуляембесплатнопитер#артспб
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
🌌Quantum Pulse: 80 голубых лучей над Петербургом
На стрелке Васильевского острова зажигается необыкновенное световое шоу: 80 голубых прожекторов пронзают небо ✨.
Инсталляция Quantum Pulse посвящена 80-летию атомной промышленности СССР и России и превращает город в центр притяжения света и энергии.
📍 Стрелка Васильевского острова
📆 27 и 28 сентября
🕗 20:00–22:00
📸 Фото: @paveldemichev
#quantumpulse#светспб#артспб#кудасходитьспб#бесплатноспб#стрелкавасильевского#spbafisha#spbfree
Петербург ближе, чем кажется — будь в курсе интересного с Куда сходить в Санкт-Петербурге.
🌍Бесплатный день в музее почвоведения!
Каждый последний вторник месяца — день бесплатного посещения Центрального музея почвоведения им. В.В. Докучаева.
Ближайшая дата — 28 октября🗓
Это уникальное место, где можно увидеть почвенные монолиты — вертикальные срезы почвы с полностью сохранённым строением. Здесь собрана богатейшая коллекция образцов со всех уголков планеты, от арктических земель до тропиков.
Если вы любите науку, природу и необычные музеи — это отличный повод заглянуть сюда! 🌱
📍 Биржевой проезд, 6
💵 Вход свободный (28 октября)
#музеиспб#бесплатноспб#афишаспб#интересноспб#кудасходитьспб#гуляембесплатнопитер#spbfree#spbmuseum#экологияспб
Город оживает каждый день — подписывайся на Куда сходить в Санкт-Петербурге и не пропускай главное!
✨Спас на Крови — одно из лучших мест для вечерней прогулки и фотосессии.
Когда загорается подсветка и огни отражаются в водах канала Грибоедова, храм выглядит особенно сказочно. Атмосфера старого Петербурга, тихие набережные и величественный силуэт собора делают это место идеальным для романтической прогулки или атмосферных снимков.
Только посмотрите, какой красивый снимок получился у создателя нашего телеграм-канала😍
📍 Набережная канала Грибоедова, 2Б
📸 andrei_mikhailov, а также
📸 aleksandr_paklin
#СпасНаКрови#ВечернийПитер#ПрогулкиПоПетербургу#ФотосессияСПб#КрасотыСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
✨Спас на Крови — одно из лучших мест для вечерней прогулки и фотосессии.
Когда загорается подсветка и огни отражаются в водах канала Грибоедова, храм выглядит особенно сказочно. Атмосфера старого Петербурга, тихие набережные и величественный силуэт собора делают это место идеальным для романтической прогулки или атмосферных снимков.
Только посмотрите, какой красивый снимок получился у создателя нашего телеграм-канала😍
📍 Набережная канала Грибоедова, 2Б
📸 andrei_mikhailov, а также
📸 aleksandr_paklin
#СпасНаКрови#ВечернийПитер#ПрогулкиПоПетербургу#ФотосессияСПб#КрасотыСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
🤗 Сообщаем заранее!!!
🎶Бесплатный концерт «Императорский полдень»
Каждое воскресенье ровно в полдень в Петербурге оживает старинная музыкальная традиция. В окно Капеллы, выходящее на Дворцовую площадь, появляются музыканты и дарят горожанам и гостям города короткий, но яркий концерт.
Эта традиция берёт начало ещё со времён Петра Великого, когда музыка звучала не только в залах, но и на улицах города, создавая особую атмосферу праздника.
📍 Двор Капеллы, наб. реки Мойки, 20
📆 Ближайшее выступление: 21 сентября в 12:00
🎟 Вход свободный
#капелласпб#императорскийполдень#музыкавпитере#бесплатноконцерт#spbfree#бесплатноспб#культураспб#дворцоваяплощадь
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
📸Прогулка и фотосессия у Троицкого моста
Троицкий мост — один из самых красивых мостов Петербурга, соединяющий сердце города с Петроградской стороной. Его ажурные фонари и изысканные детали делают прогулку особенно атмосферной.
🌅 Здесь открывается потрясающий вид на Петропавловскую крепость, стрелку Васильевского острова и Дворцовую набережную. Вечером огни моста и отражения в Неве создают волшебную картину, которую хочется сохранить на фото.
💡 Отличное место для романтической прогулки, атмосферной фотосессии или просто неспешного наслаждения красотой города.
📸 andrei_mikhailov
#троицкиймост#мостыспб#фотосессияспб#прогулкиспб#красотыпитера#spbfree#питерфото#питер
Город оживает каждый день — подписывайся на Куда сходить в Санкт-Петербурге и не пропускай главное!
🎨Бесплатная стрит-арт выставка — праздник уличного искусства в галерее!
В галерее «Сегоднязавтра» открылась финальная выставка цикла «Рисунки на стенах», посвящённая теме праздника 🎉
Проект объединяет лучших уличных художников Петербурга, чьи работы давно вышли за рамки улиц и стали частью современного искусства.
В экспозиции — живопись, графика, мозаика, арт-объекты и уникальные произведения из личной коллекции куратора. Выставка показывает, как уличное искусство сохраняет свою энергию и дух свободы, даже попадая в галерейное пространство 🌆
📍 Чкаловский проспект, 60
⏰ Вт–Сб 11:00–19:00, до 10 ноября
💵 Вход свободный
#стритартспб#современноеискусствоспб#бесплатноспб#галереяспб#афишаспб#artspb#spbfree#кудасходитьспб#спббесплатно#гуляембесплатнопитер
Планы на вечер? Они уже ждут тебя в Куда сходить в Санкт-Петербурге.
🎶 Фестиваль «Русский двор» в Петербурге!
13 сентября Муринский парк превратится в пространство народного творчества и фольклорного веселья. На фестивале «Русский двор», который проходит в рамках проекта «Дух времени», гостей ждёт атмосфера старинных традиций и душевного праздника.
✨ В программе:
🪕 Выступления народных вокальных и хореографических коллективов
🎭 Задорные игры и ярмарочные забавы
📸 Фотозона в русском стиле
🎨 Мастер-классы
👘 Этноколлекции
📍 Муринский парк
📆 13 сентября, 12:00–18:00
💸 Вход свободный
#РусскийДвор#ДухВремени#ФестивальСПб#КультураСПб#НародноеТворчество#ФольклорСПб#КудаПойтиСПб#SaintPetersburg#SPBfree
Живи активно: культура, еда, события — всё в одном месте. Куда сходить в Санкт-Петербурге.
🎭«Ночь искусств» в Петербурге — когда город не спит ради культуры!
3 ноября Северная столица вновь присоединится к всероссийской акции «Ночь искусств»💫
⠀
Это особенный вечер, когда музеи, театры, библиотеки и арт-пространства открывают свои двери для всех, кто хочет провести ночь в компании музыки, выставок, спектаклей и мастер-классов.
⠀
Тема этого года — единство культур народов России🇷🇺. Петербуржцев и гостей города ждут десятки бесплатных мероприятий, где искусство объединяет, вдохновляет и дарит новые впечатления.
📍 Музеи, театры и библиотеки по всему Петербургу
📆 3 ноября
🎟️ Вход свободный (по регистрации в некоторых местах)
#ночьискусств#спбсобытия#бесплатноспб#культураспб#питербесплатно#афишаспб#spbfree#spbevent#spbguide#гуляембесплатнопитер
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.