Функция 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
🎓 Ещё один крючок для стены
Ещё одна полезная деталь интерьера — функциональный крючок, который поможет организовать пространство стильно и удобно!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🛠️ Полка для хранения сверл Ø1-Ø13 мм
Простое и компактное решение для удобного хранения мелких свёрл от 1 до 13 мм диаметром. Легко собрать самостоятельно на 3D-принтере!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🚗 Ключница Cool Garage Car Key Holder
Эта стильная ключница станет классным дополнением интерьера гаража! Изготовлена специально для автолюбителей — практичная и эстетичная деталь хранения ключей от авто.
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🔌 Катушка для проводов Power Cord Winder & Organiser
Простое решение для хранения кабелей и шнуров, удобное хранение и защита от спутывания.
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
📌 Крепление аккумулятора Ryobi 18V для стены DDD Control
Это удобное крепление позволяет надежно зафиксировать аккумулятор Ryobi формата 18 вольт прямо на стене, обеспечивая быстрый доступ и удобную зарядку. Отличное решение для мастерской!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
📦 Открывалка коробок
Небольшое устройство упрощающее распаковку картонных упаковок. Компактная конструкция помогает аккуратно вскрывать коробки и упаковку, экономит время и нервы!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🔧 Инструмент для снятия предохранителей автомобиля
Избавьтесь от неудобства! Удобный инструмент позволяет быстро и аккуратно извлекать автомобильные предохранители. Незаменим для автовладельцев!
🔗Скачать:Printables
#️⃣ Категория:#Garage@anzar3d
🖨3D модели для печати | 3D Маркетплейс | Max
📦 Складис — органайзер для инструментов и мелочей
Универсальное решение для хранения мелких предметов и инструмента. Компактный дизайн позволяет удобно разместить любые мелочи прямо рядом с рабочим местом. Сделан для организации пространства мастерской или гаража.
🔗Скачать:Printables
#️⃣Категория:#Garage@anzar3d
🖨3D модели для печати | 3D Маркетплейс | Max
Teenage Death Star — The Early Year's 88-91 Backyard Tapes (La Munai Records, 2020)
#garage#indie#psychedelic#post_punk#indorock#Indonesia
Сборник песен индонезийской инди-группы Teenage Death Star, который они выпустили в этом году как свой второй альбом. Домашний продакшен эпохи восьмидесятых и песни на инденезийском языке с названиями в духе «Не стригись и, пожалуйста, брось работу», «Неврологические расстройства научной фантастики», «Квантовая динамическая черная магия».
Bandcamp
SELECTAH BASS PARTY [THIS FRIDAY]
Плотные вибрации басов возвращаются в наш славный город, которые уже так полюбились многим бэйсерам! В этот вечер все серьезно - 4 килловата глубокого звука, селекторы старой и новой школы и исключительное разнообразие фирменного басистого звучания! 😎
Всё в один вечер, на первом этаже бара Сфера.
Приглашаются все неравнодушные почитатели английского и международного бэйса, чтобы встретиться и вместе качнуть в такт мощного саунда 🔊
Будут такие диджи как:
44G
CREEP N00M
NAJI
KNOWKHAN
UNOFFICIAL JAH
Конкретика по стилям:
#BASS#JUNGLE#DNB#GARAGE#DUBSTEP#DUB
ИТАК:
🔻26 Сентября, Пятница, 22:00
🔻Сфера Бар, Шакирова 31
🔻+21
🔻300 KGS с репостом в инст
*500 KGS если без
_
#dj#тусовка
@BishDvizh