Функция 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
❗️🇷🇺#T
Т-Технологии:
Продолжаем активно выкупать акции с рынка
В первом квартале 2026 года выкупили 2 млн акций Т с рынка в рамках программы выкупа. Это составляет примерно 1,5% free-float акций Т. Выкупленные с рынка бумаги будем использовать для долгосрочной мотивации менеджмента
С момента объявления программы выкупа акций Т в ноябре 2025 года совокупно выкупили уже 3 млн акций Т — что соответствует 1,1% капитала и примерно 2,2% общего объема free-float акций
Всего программа рассчитана на выкуп до 10% free-float акций Т до конца 2026 года.
Как заявляли ранее, в случае значительных отклонений капитализации Т от реальной стоимости бизнеса можем еще ускорить выкуп
mt в max
Т-Технологии в 1кв 2026г выкупили с рынка 2 млн акций компании (1,5% free-float) #T
Выкупленные с рынка бумаги компания будет использовать для долгосрочной мотивации менеджмента
Читать далее
👉https://smartlab.news/i/185212
мы в max
Т-Технологии продолжают обратный выкуп акций с рынка в объеме до 10% free-float для использования в программе долгосрочной мотивации — председатель СД Алексей Малиновский #T
За IV квартал 2025 года в рамках программы выкуплено около 1,4 млн акций Т, что составляет около 1% от объема free-float. Мы можем ускорить выкуп акций Т с рынка в случае значительных отклонений текущей капитализации от реальной стоимости бизнеса Группы.
Читать далее
👉https://smartlab.news/i/183002
мы в max
Т-Технологии предложили акционерам провести сплит акций в соотношении 1:10, ВОСА - 10 марта — компания
- Точные даты и другие детали конвертации будут объявлены позднее
- Т-Технологии продолжат придерживаться действующей дивидендной политики, предусматривающей практику ежеквартальных дивидендных выплат.
Читать далее
👉https://smartlab.news/i/177468
#T
Акционеры Т-Технологий одобрили дивиденды за 3кв 2025г в размере 36 руб/акция (ДД 1,1%), отсечка - 8 января
Читать далее
👉https://smartlab.news/i/174745
#T
#T/USDT analysis :
Price has broken out and retested a previously respected support zone. A bounce from the current level is expected, targeting the previous swing high.
TF : 1D
Entry : $0.0270
Target : $0.0400
SL : $0.0226
#T/USDT analysis :
The price has broken below the support zone and is currently retesting it. Additionally, it is encountering resistance from the 200 EMA. It is anticipated to decline from this point and test previous lows.
TF : 4H
Entry : $0.02147
Target : $0.01773
SL : $0.02358