Функция 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
Мне кажется, все европейские компании обречены на продажу, также будет и с дедолайт. Их время прошло, особенно в условиях дорогих энергоресурсов, китайских/японских компаний. Мир меняется и #arri думаю это уже поняла https://news.fidller.com/2025/08/19/budushcheye-arri-lighting/
Группа компаний #ARRI изучает варианты продажи. Хотя это но уровни слухов, но в условиях ситуации в Европе мне кажется вполне реально. Вопрос только, кто купит? Какого то мега прогресса у Arri особо нет (новости по их продуктами читаю), по типу блекмеджиков или red, оно может и не надо. Тема довольно обсуждаемая
Самые читаемые статьи на сайте за год:
УСКОРЯЕМ РАБОТУ DAVINCI RESOLVE НА СЛАБЫХ КОМПЬЮТЕРАХ. 5 ПОЛЕЗНЫХ ЛАЙФХАКОВ (ОБНОВЛЕНО)
https://news.fidller.com/davinci-resolve-5-optimision/
МЕРЦАЕТ СВЕТ, ПРИ ВИДЕОСЪЁМКЕ. ЧТО ДЕЛАТЬ?
https://news.fidller.com/light-flickers/
ОБЗОР DJI FLIGHT SIMULATOR
https://news.fidller.com/dji-flight-simulator/
MAYA ПРОТИВ BLENDER. КТО ЛУЧШЕ?
https://news.fidller.com/maya-vs-blender/
ОФИЦИАЛЬНОЕ РУКОВОДСТВО ПО DAVINCI RESOLVE 16 (НОВОЕ)
https://news.fidller.com/davinciresolve-training-444/
КАК СНИМАТЬ ВИДЕО ОТ ПЕРВОГО ЛИЦА? POV-ШЛЕМ
https://news.fidller.com/pov-video/
Самое популярное интервью было с Тимом Павелко
https://news.fidller.com/tim-pavelko_interwu/
Стали интересоваться не посредственно автором статей т.е. мной, что тоже приятно, прям вал запросов)
На сайт стали заходить по запросам #arri и около профессиональные темы и вопросы, в частности цена.
Топ стран по прочтению материалов - Россия, Украин, Белорусь, Казахстан, США, Германия, Узбекистан.
"Команда по освещению в этом VR-проекте раздвинула границы реальности! На съемочной площадке для видео Megan Thee Stallion Эли Тахан и его команда установили новые стандарты: 90x ARRI SkyPanel S60-C, 10x ARRI SkyPanel S120-C, 2x ARRI SkyPanel S360-C, 3 километра проводов и три месяца подготовки — все для достижения f/22. Индивидуальная установка была настолько огромной, что требовалось одобрение инженеров-строителей. Этот проект переосмыслил креативность и производительность освещения."
#arri#засценой
Новый тренд в мире виртуальные студии. По идее если сделать мега большой ангар с подобным, то можно на натуре уже особо ничего не снимать и такой ангар думаю за 1-3 года окупился бы давно (возможно такое уже есть)#arri#всёокино
https://news.fidller.com/v-velikobritanii-otkrylas-sovremennaya-studiya-smeshannoy-realnosti-arri/