Функция 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
📼📼 ФИШКИ С ТИКТОКА ПОЛНЫЙ ТРЭШ?!😮
Сегодня dan-_- и Nayqo откладывают мышки и клавиатуры и смотрят ТикТок! Мы отобрали пачку лайфхаков, которые либо гениальны, либо заслуживают огромный Red Flag 🚩
Смотрим полный выпуск на наших каналах
👇
🎬YouTube |🖥VK
#R6S#GOGOVP
📼📼 ЭТИ МЕХАНИКИ В R6S НАСТОЛЬКО СЛОМАННЫЕ...
😱
p4sh4 и SkyZs оценивают различные фишки и механики от комьюнити зелёным или красным флагом 😈
Будут ли эти фишки чересчур имбовыми или же останутся неюзабельными? Узнай в полном ролике 👇
🎬YouTube |🖥VK
#R6S#GOGOVP
ТИРЛИСТ ОПЕРАТИВНИКОВ ДЛЯ РАНКЕДА🔥
Смотри ролик и узнай, кто безоговорочно попал в S, а для кого даже D — это слишком хорошая оценка 😎
Видео уже ждёт тебя на наших каналах 👇
🎬YouTube |🖥VK
#R6S#GOGOVP
🎞🎞 С БУТКЕМПА НОВОГО РОСТЕРА ПО R6S🔥🔥🔥
Приглашаем вас на обзор нашего буткемпа
😍 Знакомство с новичками Nayqo, RORICK, SkyZs и тренером Dxrk: как игроки коннектятся между собой и вливаются в ростер, планы на будущее и то, как прямо сейчас строится командная химия
🙌
Фулл ролик ждёт тебя тут ⬇️
🎬YouTube |🖥VK
#R6S#GOGOVP
Объявляем сборку лучших хайлайтов по R6S 🔥
Успей прислать свои самые крутые клипы до 26-го июля и попади на обзор к нашим Медведям: https://forms.gle/MccDdLiMyxPM2EKG9🤩
#R6S#GOGOVP
Обзор нового обновления от JoyStiCK🤩
🤯 Самый горящий раунд?
📁 Что посоветовал бы другу чтоб начать играть в радугу
🤔 Атака или защита? Что больше нравится Джойстику?
Смотри новый ролик на наших каналах и пиши в комментариях, что думаешь о новом патче ты?
🎬 YouTube |🖥VK
#R6S#GOGOVP
«Где логика?» с Медведями из R6S🧠
🏆Always — просто гений!
😦 Причём тут драконы, Ирландия и «Волшебник Изумрудного города»?
🌵 Лионелло Кактуселло!
Смотри новое видео на наших каналах и пиши в комментариях, сколько слов отгадал ты!
🎬YouTube | 🖥VK
#R6S#GOGOVP
JoyStiCK и dan-_- разобрали для вас базу настроек в Rainbow Six Siege 😏
❌ Какие настройки никогда не меняли Медведи;
🔊 Почему диалоги лучше выкручивать на максимум;
💡 Зачем оставлять обводку своих тиммейтов?
🖥 Какие параметры экрана выбрать для игры;
🔵 Почему синий – это лучший цвет для подсветки противников?
Смотри новое видео на наших каналах и играй с профессиональным комфортом 🤩
🎞YouTube | 📡VK
#R6S#GOGOVP
Always и dan-_- разобрали по полочкам лучших оперативников атаки в R6S 🔥
🤩 Самые метовые и главные имбы патча;
👌 Стартовая подборка для новичков;
❌ Кого никогда не пикнет dan-_-?
Чтобы точно не быть "нубом" в Rainbow Six Siege, быстрее смотри видео и учись играть у наших профессионалов 🤩
🎞YouTube | 📡VK
#R6S#GOGOVP
Теперь твои «фенрирки» никто не найдет 😉
dan-_-и JoyStiCK разобрали одного из лучших оперативников защиты — Fenrir: https://youtu.be/Qvkl_rFhz00
👆 Базовые споты для гаджета на Орегоне и Клубе;
👊 Стили игры на Fenrir;
📁 Эффективные комбинации.
Пиши в комментах, на каких картах ты бы ещё хотел увидеть правильную расстановку для гаджета Fenrir!
#R6S#GOGOVP
Долгожданный ролик с Always уже на YT-канале:
https://youtu.be/IsoVHz77JAA
Лучшие споты для камер Valkyrie от dan-_-и Always. В этом гайде узнаем:
💪 Как правильно прятать камеры;
🔥 Защитные и агрессивные споты;
📁 Базовые места на Орегоне, Консульстве, Небоскребе и Лабе.
Пиши в комментах, на каких картах ты бы ещё хотел увидеть секретные места для камер Valkyrie от Медведей!
#R6S#GOGOVP
🤩 После этого видео вы не сможете играть в R6S по-другому: https://youtu.be/4uXKHUDTVp4
В новом гайде на канале JoyStiCK и dan-_- рассказали и показали:
😡 Как играть агрессивно за защиту
🔸 Лучшие ранауты и спавнпики на картах «Шале» и «Кафе Достоевский»
💪 Как сломать стратегию противника на первых секундах игры
Смотри видео, запоминай точки и пробуй в следующей игре 🔥
#R6S#GOGOVP