Функция 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
⚡️Bugundan boshlab “Chevrolet Onix” avtomobili uchun shartnoma berish boshlandi
Narxlar bilan tanishing:
1,2 МТ Soddalashtirilgan komplektatsiya– 110 000 000 soʻm
1LS 1,2 МТ – 133 040 000 so’m
1LT 1,2 МТ – 138 400 000 so’m
3LT 1.2 МТ – 141 960 000 so’m
LTZ 1,2 Turbo AT – 165 180 000 so’m
(Narxlar qo‘shilgan qo‘shimcha soliqsiz ko‘rsatilgan)
Avtomobil haqidagi batafsil ma'lumotlar bilan ushbu havola orqali tanishib chiqing.
#onix
✅@mashinalar
Chevrolet brendi “Chevrolet Onix bilan yangi yil kayfiyati” tanlovi ishtirokchilari o‘rtasida qisqa ro‘yxatni e’lon qiladi.
Quyida saralangan ishtirokchilarning videolari yuklanadi, ular orasidan g‘olib kanal obunachilari tomonidan ovoz berish yo‘li bilan aniqlanadi.
Ovoz berish 2023-yil 28-dekabr soat 20:00 gacha davom etadi. G'oliblarni e'lon qilish 2023 yil 29 dekabr kuni.
Ishtirokchilarga omad tilaymiz.
______________
Бренд Chevrolet объявляет, шорт лист среди участников на конкурсе "новогоднее настроение с Chevrolet Onix".
Ниже будут загружены видео работы участников из шорт листа, среди которых победителя определят подпсичики канала вы путем голосования.
Голосование продлиться до 20:00, 28 декабря 2023г. Объявление победителей 29 декабря 2023г.
________
Short list Ishtirokchilarini video ishlari:
Видео-работы участников шорт листа:
1) https://youtu.be/5R-lP_WAECk?si=pPCFrqzouEKHGD2Y - Oydin Xalilova.
2) https://youtu.be/B9yoyn1zpDs?si=GkiOniRjRRNlezrE - Xusniddin Bahodirov
3) https://youtu.be/LPYhHt1GpE4?si=1wZ_vXB_stv7uCaf - Bestim_pro
4) https://youtube.com/shorts/etLiLvNCkUE?si=5MloMb1F3yR-2pfc - Regina_Kim
5) https://youtube.com/shorts/NH3tkAMIR1o?si=CCzJGRN6uyIsb9V7 - Stasian
Желаем удачи участникам!
#Chevrolet#Onix#Новогоднее#настроение
⛵️⛳️В начале сентября команда выставки «Лодки Экспо» посетила мероприятие «Яхты & Гольф 25» в Завидово.
✨Частью этого события стали ведущие верфи России, брокерские компании, яхтенные дизайнеры и поставщики оборудования.
🎥Смотрите видео-интервью с представителями компаний «Авиатор»,«Njord Boats»,«Trinity Yachts» и «Onix», а также читайте нашу статью, чтобы узнать, что думают эксперты и представители компаний о тенденциях развития яхтенного бизнеса в России 2025.
🌀Подпишись на «Лодки Экспо»!
#ЛодкиЭкспо#лодки#Завидово#Яхты&Гольф #Авиатор#Onix#TrinityYachts#NjordBoats#гольф
🚗 Nega avtomobilingiz ko‘p yoqilg‘i sarflaydi?
Ba’zan bunga sabab texnik nosozlik emas, oddiy odatlarimiz bo‘lishi mumkin.
Bosimi past shinalar, tozalanmagan filtrlar yoki shunchaki tajovuzkor haydash — barchasi yoqilg‘i sarfini sezilarli oshiradi.
Chevrolet sizga eslatadi:
👉 Texnik xizmatni vaqtida o‘tkazing.
👉 Ortiqcha yuk va keskin tezlanishlardan saqlaning.
👉 Mashinangizni sog‘lom saqlang — u sizni uzoq yo‘llarda ham ishonch bilan olib boradi.
💡 Qiziqarli va foydali avtomobil maslahatlari uchun sahifamizga obuna bo‘ling!
#ChevroletUzbekistan#Chevrolet#Yoqilg‘iTejamkorlik #HaydovchiMaslahati#Onix#Tracker
----
🚗 Почему ваш автомобиль расходует больше топлива?
Иногда причина не в поломке, а в привычках.
Низкое давление в шинах, грязные фильтры или резкие разгоны — всё это увеличивает расход топлива.
Chevrolet напоминает:
👉 Проходите техобслуживание вовремя.
👉 Избегайте лишнего груза и резких ускорений.
👉 Заботьтесь о своём автомобиле — он ответит вам надёжностью на каждом километре.
💡 Подписывайтесь на нашу страницу — впереди ещё больше полезных и интересных советов!
#ChevroletUzbekistan#Chevrolet#ЭкономияТоплива#СоветыВодителям#Onix#Tracker
O‘zbekiston yo‘llarida eng mashhur Chevrolet modellari!
Ishonch, qulaylik va tejamkorlik – har doim siz bilan.
Chevrolet brendini tanlaganingiz uchun minnatdorchilik bildiramiz!
#ChevroletUz#EngMashhurModellar#Cobalt#Damas#Tracker#Onix#IshonchliTanlov#AvtoUz
Shinalaringizning bosimi to‘g‘ri ekanini qachon oxirgi marta tekshirdingiz?🤔
Ko‘pchilik bu haqida unutadi, lekin noto‘g‘ri bosim shinalarning tez yeyilishiga, qulaylikning kamayishiga va hatto xavfsizlikka ta’sir qilishi mumkin!
To‘g‘ri bosim – tejamkorlik, xavfsizlik va haydash qulayligi demak! Tracker va Onixda esa bu yanada oson!
Batafsil – videoda! 🎥
#Chevrolet#Tracker#Onix#Shinalar#XavfsizHaydovchi#ShinaBosimi#Yo‘llardaHavfsizHaydov #ShinaParvarishi#AvtomobilTexnikasi