Функция 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
🇪🇺Starting in 2027, smartphones sold in the European Union will be required to have user-replaceable batteries designed for greater durability and more charging cycles.
Manufacturers must also provide spare parts and repair manuals for at least 10 years after a model is released.
#tech
🍺В Польше робот освоил важнейшую профессию — ходить в магазин за пивом вместо хозяев
Местные рабочие быстро нашли бытовому ИИ правильноеприменение: отправляют железяку за бутылками. Один минус — по дороге он иногда «угощается».
Нынешнему поколению отцов ждать 18-летия ребёнка больше необязательно
😂
#tech
Китайцы создали первого рабочегоробоконяQiji T1000.
Он может перевозить тонну груза и проходить там, где не проедет машина. Шагает не очень быстро, зато уверенно: по снегу, по крутым склонам и даже сквозь пожар. На одном заряде скачет до 2 дней.
Только мы с робоконём по полю идём🎶
JDMax#tech
В Москве тестируют светофоры прямо под ногами — для тех, кто идёт, уткнувшись в телефон.
Такие проекторы и блоки стоят уже на 10 адресах. Сигнал будет видно, даже если не посмотреть на светофор напротив.
JDMax #tech
Мессенджер Илона Маска официально вышел на iPhone — эксперты считают, что это первый реальный конкурент Telegram.
Что известно:
• Сквозное шифрование — содержимое не видит даже сама X;
• Встроенный Grok — мощный ИИ-ассистент прямо внутри переписки;
• Запрет скриншотов, записи вашего чата и возможность создать секретный чат с любым собеседником;
• Исчезающие сообщения — удаляются через 5 минут;
• Без рекламы;
• Аудио и видеозвонки без привязки номера телефона;
• Отправка документов, фото, видео и файлов;
• Групповые чаты до 500 человек;
• Регистрация через аккаунт X — номер телефона не нужен;
• Удалениесообщения для всех участников чата;
• Анонсировали летом 2025, тесты проходили с марта;
Пока вышло только на iOS. На Android появится позже.
JDMax#tech
Xbox полностью меняет Xbox Game Pass
Что изменилось:
• Game Pass Ultimate подешевел на 25% — с 30 до 23 долларов;
• PC Game Pass стал дешевле на 15% — с 16,5 до 14 долларов;
• Новые части Call of Duty не будут доступны в подписке сразу после выхода;
• Минимальное окно между релизом и появлением в Game Pass — один год.
По заявлениям, это только начало трансформации сервиса — стратегию будут пересматривать и дальше.
JDMax #tech
В Google Chrome появилисьвертикальные вкладки. Они помогут тем самым людям, которые открывают по 50 вкладок одновременно.
Для этого нужно нажать правой кнопкой мыши по любому окну Chrome и выбрать «Показать вкладки вертикально».
JDMax#tech
Китайцы создали те самые «светящиесяцветы из Аватара».
Биотех-стартап Magicpen Bio пересадил в обычные растения гены светлячков и светящихся грибов. В итоге получились «живые лампы» — уже выращивают светящиеся орхидеи, подсолнухи и хризантемы.
Фишка в том, что им не нужно электричество или зарядка — достаточно воды и удобрений.
JDMax #tech
На скоростной автомагистрали Сычуань‑Чунцин‑Хубэй открылась самая большая в мире станция замены аккумуляторов для грузовиков. Весь процесс занимает 5 минут, это гораздо быстрее, чем зарядка огромной батареи на 171 кВт•ч. А на одном тягаче может стоять до трех таких блоков.
Станцию построила компания Qiji Energy, входящая в состав CATL, технология совместима с 95% популярных моделей грузовиков. К концу десятилетия компания планирует перевести на электротягу до 80% грузоперевозок в Китае.
JDMax#tech
PlayStation 5 подорожает сразу на $100 — Sony поднимают цены на консоли по всему миру.
Со 2 апреля базовая PS5 будет стоить $650 (₽53 тыс.), версия без дисковода — $600, а PS5 Pro — $900.
Учитывая текущую разницу, в России цены могут вырасти примерно на ₽10 тыс.
JDMax #tech