Функция 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
🏁Творим историю вместе
Все вы знаете о великой стене от Тайлера. Комьюнити Ton Cryptans заняло свое законное место и стало частью великого!
➡️Не рушима та стена, в которой мы кирпич!
🤩Оставь в комментариях под этим постом свою картинку, посвящённую тематике Tyler Durden и я опубликую твое произведение на стену Тайлера.
❗️ Зовем Тайлера и он придет. Все зависит от вас!
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#TylerDurden
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🏁Мечты сбываются
🤩Вчера 14 апреля 2025 года к нам заглянул легендарный Tyler Durden.
Результаты посещения можете увидеть на скринах выше. Пока в Telegram процветают SCAM и уныние Tyler и его канал Project Mayhem несут свет и добро. Сотни удивленных пользователей, в профиля которых лавиной хлынули подарки от загадки №1 в Telegram — Тайлера, не могли передать своей радости 🔥.
🤩 В ответ пользователи отправляли Тайлеру подарки. Команда Ton Cryptans не осталась в стороне и вручила подарки Тайлеру. Спасибо тебе Tyler Durden. Спасибо за свет в это темное время ❤️
➡️Project Mayhem
На канале Тайлера готовиться что-то грандиозное 👇
Сегодня мы творим историю. Мы собираемся установить официальный мировой рекорд в Telegram. Следите за новостями.
❤️ Ты встретил Тайлера вместе с нами? Получил от него подарок? Если хочешь, чтобы он пришел вновь, просто расскажи в комментариях.
Tyler Durden🔥 Кто ты, легенда? Тот самый феникс, что возродит Telegram?
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#TylerDurden
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی
🏁С нами в безопасности
🤩 Подъехал очередной SCAM бот. Наблюдая за грандиозным успехом легенды под именем Tyler Durden и его канала Project Mayhem, мошенники создали SCAM бота.
Схема пока не понятна, но мошенники пишут сами и предлагают отправить адрес кошелька. Ни в коем случае не делайте этого!
Из первоисточников, а именно из разговора с Тайлером, удалось выяснить, что бот не принадлежит команде Тайлера.
❗️SCAM BOT — @ProjectMayhemSoapBot
❗️ SCAM аккаунт — Project Mayhem Поддержка - @pvlAmFHrQuKW - @ProjectBruceLee
Добро пожаловать в реестр😉
➡️Таблица SCAM ALERT
🤩 Ниже прилагаю официальные ресурсы легенды Tyler Durden:
➡️Project Mayhem — канал
➡️Project Mayhem Records — чат
➡️@mrkt — маркетплейс
🤩 К вам уже обращались мошенники? Расскажите в комментариях.
❗️Под каждым постом, комментарий, продержавшийся 15 минут не перекрытый следующим комментарием, получает подарок TG
#SCAMALERT#TylerDurden
- - - - - - - - - - - -
🤓Ton Cryptans | Чат | UNI | SCAM
- - - - - - - - - - - -
🤓Игры | ⭐️ Купить STARS
- - - - - - - - - - - -
How to read our content in your language / فارسیفارسی