Функция 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
Lexus NX — очень логичный и практичный выбор в наше время. 2-х литровый мотор на 150 лс, передний или полный привод. Внутри и снаружи 100% Lexus, очень похож на RX, только поменьше.
На выбор в Major Expert сейчас 9 машин — 2015-2021 года, пробеги 50-200 тыс км. Цены доступные — от 2,94 до 4,55 млн руб (это за машину 21 года с пробегом в 50 тыс км, на полном приводе)
Подробности +7 (495) 089-05-39
или у Кирилла @KirStar96
#lexus
Lexus ES — обвешан наградами и призами. «Luxury Car Best Buy 2023», «Top Safety Pick+ 2022», высшие места в разнообразных рейтингах по надёжности, ценности и качеству.
«Люксовая Camry» отличается от обычной материалами отделки, настройками подвески, мультимедиа. Это уже не бизнес, а премиум.
В нашем салоне сейчас 3 автомобиля с пробегом на выбор. 2016-2021 гв, 2-2,5 литровые бензиновые моторы, передний привод. Пробеги 61-97 тыс км, для них это немного. Цены — 2,97-4,12 млн руб.
Звоните +7 (495) 089-05-39
#lexus
Новый LEXUS RX300 в Major Auto - отличный вариант на каждый день. Высочайшая надежность и комфорт.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,53 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 в Major Auto - надежный и современный. Не игрушка, а набор проверенных технологий в элегантной упаковке.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus ES в 2026 году - только гибрид или электромобиль. ES350h - 4-х цилиндровый бензиновый мотор + электромотор, всего 243 лс, передний или полный привод.
Две электрические версии - ES350е (220 лс, передний привод, разгон 7,7 сек) и ES500е (338 лс, полный привод, 5,4 сек).
ES 2026 в длину вырос на 15 см и преобразился внутри и снаружи. Снаружи к лучшему, внутри в сторону простых прямоугольных форм, на любителя.
Нравится - 👍
Не нравится - 👎
Где ДВС - 🤔
#lexus
Lexus LM - его выбирают вместо представительского LS. Потому что комфортнее седана. Идеально подойдет для города, для длинных поездок и справится с перевозкой детей в школу.
Сейчас такая машина, 2023 года выпуска, с пробегом 40 тыс км, есть в продаже в Major Expert. В идеальном состоянии, покупался и обслуживался у нас.
292 лс, полный привод. Подогрев и вентиляция всех сидений, перегородка между пассажирским салоном и водителем, подогрев и вентиляция всех сидений (во втором ряду - капитанские с электрорегулировками), доводчики дверей, 3-х зонный климат, камеры 360, обогрев руля, комфортная подвеска.
Цена 14,6 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus строил LS с 1990 года, продажи падали по мере того, как кроссоверы убивали седаны. Сам Lexus говорит, что место LS занял минивэн LM. 2026 год станет для LS последним.
Выходит прощальная лимитка в 250 экземпляров - Heritage Edition. Специальные диски 20", полный привод, V6 3,4 литра битурбо на 416 лс, особая отделка.
LS продавался в России довольно средне, но в больших седанах есть своя прелесть, грустно что их становится меньше.
Вообще не жаль - 👍
Немного все-таки жаль - 👎
#lexus
Lexus LX - большой, комфортный и мощный. Максимум от японского премиум бренда. Такой, 2020 гв, с пробегом всего 28 тыс км есть сейчас в Major Expert.
5,7 литровый V8 на 367 лс и 530 Нм, полный привод, 8-и ступенчатая АКПП, разгон до сотни за 7,7 секунд. Удобен в городе и особенно на трассе.
Без проблем по технике и без окрасов.
Цена 12,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Еще одно новое поступление - LEXUS LX 2024 гв, с пробегом всего 22 км, в продаже в Major Expert.
Полный привод, 10-и ступенчатая АКПП, 3,4 л бензиновый турбомотор на 415 лс и 650 лс, разгон до сотни за 6,9 секунд.
Один владелец, юр. лицо, возможен возврат НДС, машина куплена в Major Auto, абсолютно прозрачная история эксплуатации.
Цена - 18,2 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS RX 350 - японский премиум на каждый день. Известный, надежный, качественный и понятный.
На видео автомобиль 2023 года выпуска с пробегом 37 тыс км. Без проблем по технике и полностью в родном окрасе.
Полный привод, бензиновый двигатель 2,4 л на 249 лс, 8-и ступенчатая АКПП, 7,6 секунд до сотни (быстрее старых атмосферных моторов). Вентиляция и подогрев передних сидений, датчики света, дождя и давления в шинах, камера заднего вида, колеса 19 дюймов.
Цена 8,2 млн руб
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 - космический снаружи и внутри. Технологичный, но не игрушечный. В нем всё собрано не все возможное (лишнее), а всё необходимое. Каждая функция продумана и работает на отлично.
По технике - 2-х литровый турбо мотор, 248 лс, полный привод и 8-и ступенчатая АКПП. Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,73 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS LX600 2024 года выпуска, с пробегом всего 20 тыс км, есть сейчас в Major Expert. Абсолютно никаких проблем по технике и полностью в родном окрасе.
Флагман бренда. Полный привод, бензиновый 3,5 л турбомотор на 415 лс и 650 Нм, 10-и ступенчатая АКПП, разгон до сотни за 6,9 сек. Богатейшая комплектация с вентиляцией сидений, обогревом руля и лобового стекла, люком, темным потолком, дисками 22 дюйма и многим другим. Абсолютный комфорт, надежность и динамика.
Цена 15,465 млн руб.
Менеджер Кирилл @KirStar96 готов ответить на все ваши вопросы.
#lexus