Функция 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
#TTD
1️⃣ Сильно просела бумага в последнее время - но сейчас мы на мощную поддержку пришли. Есть шанс на разворот в этой точке.
2️⃣ Сейчас компания оценена по самым нижним таргетам на рынке.
3️⃣ При этом потоки основные немного замедлились, но продолжают рост.
*Не является инвест рекомендацией.
#TTD🔴 -30%
⚡️Сегодня жёстко рухнул после отчёта The Trade Desk.
👉 Отчёт оказался двойственным. С одной стороны, The Trade Desk продемонстрировала рекордные показатели выручки и масштабирование бизнеса, что говорит о долгосрочном потенциале.
👉 С другой стороны, впервые за 33 квартала компания не смогла оправдать собственные ожидания.
Руководство объяснило это серией мелких ошибок в исполнении, задержками в запуске новой технологической платформы (Kokai) и ростом операционных расходов, связанным с масштабной реорганизацией.
🔴Эти краткосрочные трудности подорвали доверие инвесторов, и акции упали примерно на 30%.
👉 Рынок отреагировал негативно, опасаясь, что структурные и операционные проблемы могут замедлить темпы роста в ближайшей перспективе, несмотря на хорошие долгосрочные прогнозы.
🤔 Моё мнение: у компании хорошие потоки, но завышена стоимость + отсутствует полноценный байбэк, который может тащить вверх даже на негативе.
❓Но мне кажется, что ещё один хай они сделают - а Вы согласны? Если нет - то почему? 👇
🇺🇸#TTD#research
The Trade Desk – это американская технологическая компания, специализирующаяся на программном управлении закупками цифровой рекламы. Иными словами, она предоставляет рекламодателям платформу для автоматизированного, в режиме реального времени, выбора и покупки рекламного инвентаря.
⚡️ В последнее время мы увидели быстрое и глубокое снижение цены - в пределах 60% от максимума. Причём исторически, такое снижение давало неплохую точку для среднесрочного входа в позицию.
Написал большой обзор на акцию: род деятельности, положение на рынке, почему упала и что говорят аналитики о ней сейчас? А также оценил финансовое состояние, провёл технический анализ цены и принял решение. Кому всё это интересно - тут:
📌 ЧИТАТЬ СТАТЬЮ (подписка)
#ADBE#ACN#NVO#VRTX#TTD
👆 Это мои последние 5 покупок в инвест портфель.
Давайте откроем форум в комментариях: скидывайте свои 5 последних покупок или продаж (сделок) - может кто найдёт интересные идеи
😁👇