Функция 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
🎀 РОЗЫГРЫШ коллекции Cute Adventurе🎀
Хочешь поймать настоящую kawaii-волну? 💜 Мы приготовили для тебя целых 3 бокса косметики #cuteadventure с героями Hello Kitty, Kuromi и My Melody!
Если вы хотите повысить свои шансы на победу, то приглашайте друзей по реферальной ссылке, которую пришлет бот. Каждый подписавшийся по вашей ссылке это +1 шанс!
💌 Что в наборах?
💜 Бокс 1
• Набор кистей для макияжа BIG SOFTIE #cuteadventure
• Жидкая помада MISCHIEF IN PROGRESS
• Блеск для губ DOKI DOKI YUMMY
• Жидкие тени для век KIND-HEARTED 003 «TEA PARTY»
💗 Бокс 2
• Кисть для путешествий в чехле HELLO KITTY #cuteadventure
• Кисть для румян HELLO KITTY
• Кисть для теней-карандаш HELLO KITTY
• Косметическая повязка для волос Kuromi’s Sleepover
🖤 Бокс 3
• Подарочный набор SPOOKTACULAR #cuteadventure
• Туалетная вода-спрей Cheeky But Charming Kuromi #cuteadventure
• Жидкие тени для век KIND-HEARTED 003 «TEA PARTY»
• Кисть для теней-карандаш HELLO KITTY
• Kuromi figure model ( miniso blind box )
💫 Каждый набор — это заряд милоты, стиля и вдохновения на каждый день!
Поторопись: возможно, именно ты станешь обладательницей kawaii-сокровищ 🎁✨
*РОЗЫГРЫШ ПРОВОДИТСЯ НА ТЕРРИТОРИИ РФ!!!
Всем удачи 🥰
Участников: 1608
Призовых мест: 3
Дата розыгрыша: 15:30, 07.10.2025 MSK (завершён)
Победители розыгрыша:
1. . интернет победил......... - 41bjoq
2. სოფიო 🩶 - 428q5u
3. jjøèy † - 41po40
Осень — не повод отказываться от романтичных пастельных образов. С капсулой Май Мелоди — тем более
😉
Мы придумали один из вариантов макияжа, дальше дело за тобой
😜
#cuteadventure
Раскрываем секреты мейков, которые можно сделать с новой коллекцией SODA | Hello Kitty and friends
🐱
Сегодня – фейсчарт SODA образа главной виновницы торжества! Повторишь за нами?
#cuteadventure
Это не ложная тревога! Собирайся, мы отправляемся в #cuteadventure
😍
Новая коллекция SODA вместе с Hello Kitty and friends уже здесь — и мы так рады наконец-то поделиться ей с тобой! Она про силу дружбы, радость и свободу быть собой. Мы уверены, что ты найдешь в ней все, что нужно, чтобы раскрыть свой творческий потенциал 🐾
Давайте начнем новую главу веселья и креативности вместе!
Как всегда, первые спойлеры именно в телеграм-канале: начинаем подготовку к макияжному конкурсу на новую коллекцию
💃
А пока мы не рассказываем детали, выбери, какой из макияжей в стиле трёх подружек тебе понравился больше всего (это важно!)
🙂
#sodateam#cuteadventure
Палетка с Куроми разбила уже не мало сердечек (в том числе #sodateam), поэтому надо срочно придумать, как использовать её по назначению
🖤
Лови идею для макияжа из нашего сегодняшнего туториала, если ты уже присматриваешься к капсуле с этой проказницей
😜
#cuteadventure
Сегодня мы отмечаем день рождения нашего любимого Чонгуки!
🎉
💖 Ловите 7 макияжей на каждый день недели под новый хит Чонгука Seven!
Косметика с Куроми отлично вписалась в движ
😈
#sodalovesbts#cuteadventure