Функция 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
СД Хэдхантер дивиденды за 2025 год — 233 руб./акц. (ДД: 7,9%) Группа направит на дивиденды около 116% скорр. чистой прибыли. ВОСА — 27 апреля#HEAD
Читать далее
👉https://smartlab.news/i/180790
мы в max
Хэдхантер МСФО за IV кв и 2025 год
♦️ Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
♦️ Выручка за год ₽41,2 млрд (+4% г/г)
♦️ Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
♦️ Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
♦️ Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
♦️ Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
♦️ Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
♦️Совет директоров рекомендовал дивиденды 233 руб. на акцию.
#HEAD
Сайт | Бот | Invest Era
Хэдхантер МСФО 2025 г:
📈 выручка ₽41,20 млрд (+4,0% г/г)
📉 чистая прибыль ₽17,99 млрд (снижение в 1,3 раза г/г)#HEAD
Читать далее
👉https://smartlab.news/i/183966
мы в max
🖨 Хэдхантер МСФО за IV кв и 2025 год:
📈 Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
📈 Выручка за год ₽41,2 млрд (+4% г/г)
📉 Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
📉 Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
📈 Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
📈 Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
🔮 Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
#HEAD
Читать далее
👉https://smartlab.news/i/180789
мы в max
МНЕНИЕ: Краткосрочно акции Хэдхантер непривлекательны: ждем слабых показателей в 1К26. Долгосрочно смотрим позитивно с рекомендацией «Покупать» на фоне смягчения ДКП - Совкомбанк
Читать далее
👉https://smartlab.news/i/179614
#HEAD
🖨 Хэдхантер операционные результаты за III кв 2025 года:
— Выручка ₽10,94 млрд (+1,9% г/г) 📈
— Скорр. чистая прибыль ₽6,12 млрд (–15,5% г/г) 📉
Читать далее
👉https://smartlab.news/i/169930
#HEAD