Функция 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
Xayrli kech do‘stlar!⚡️
✨ Alisher Navoiy bobomizning yangi ko‘rinishdagi rasmlarini sun'iy intellekt yordamida generatsiya qilib ko‘rdik.
Qolgan allomalarimizni ham yangi ko‘rinishdagi rasmlarini tiklamoqchimiz)
Rasmlarni yuqori sifatlisini izohimizda yuklab oling.
#AlisherNavoiy#Ai
⚡️@fitratmediagroup
9-fevral kuni she’riyat mulkining sultoni Mir Alisher Navoiy tavalludining 585 yilligi nishonlanmoqda.
💬💬💬
9 февраля отмечается 585-летие со дня рождения великого поэта Алишера Навои.
#AlisherNavoiy#IICA
💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz
Alisher Navoiy - zamonasining buyuk shaxsi, bugungi kunning, beqiyos siymosi
Alisher Navoiy merosini o‘rganish har bir insonni ilhomlantirib, aqlini teran, fikrini tiniqlashtiradi, tafakkurini yuksaltiradi.
Barchamizga ma'limki, tarixni shaxslar yaratadi. Ana shunday tarix yartagan shaxslardan biri, shubhasiz, Alisher Navoiydir. Uning nomi jahon badiiy tafakkuri tarixida oltin harflarda yozilib kelinadi.
Bugun buyuk mutafakkir tavalludining 583 yilligi hisoblanadi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#AlisherNavoiy#583yil
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
#AlisherNavoiy#BuyukMutafakkir
9-fevral – buyuk shoir va mutafakkir Alisher Navoiy tavallud kuni!
🔴Navoiy asarlari adolat, mehr-muhabbat va ezgulikni tarannum etib, milliy madaniyatimizning bebaho merosi bo‘lib qolmoqda.
#Yoshlar#Akademik_litsey
👍Akademik litsey sahifalari:
Telegram | Instagram | Facebook
👑Bugun, 9-fevral soʻz mulkining sultoni Mir Nizomiddin Alisher Navoiy tavallud topgan kun. Navoiy — tafakkur, adolat va ezgulik timsolidir.
👑 Uning bebaho merosi bugun ham bizni o‘ylashga, izlanishga va ma’naviy yuksalishga chorlaydi. Buyuk ajdod so‘zlari biz uchun nafaqat ibrat, balki hikmat maktabidir.
#Navoiy585#BuyukMutafakkir#AlisherNavoiy
Alisher Navoiy — 585 yilligi
⚡️9-fevral kuni buyuk mutafakkir, ulug‘ shoir va davlat arbobi Alisher Navoiy tavalludining 585 yilligi keng nishonlanadi.
📖Alisher Navoiy nafaqat O‘zbekiston, balki jahon adabiyoti taraqqiyotiga beqiyos hissa qo‘shgan ulkan siymodir. Uning boy adabiy merosi, teran falsafiy qarashlari va yuksak ma’naviy g‘oyalari bugun ham inson qalbini ezgulikka, ilm-ma’rifat va komillikka chorlab kelmoqda.
🎉Ulug‘ ajdodimiz Alisher Navoiy tavalludining 585 yilligi muborak bo‘lsin!
Keling, buyuk shoirning bebaho merosini chuqur o‘rganib, uni keng targ‘ib etaylik.
__________________
⚡️9 Şubat, büyük mütefekkir, şair ve devlet adamı Ali Şîr Nevaî’nin doğumunun 585. yıl dönümüdür.
📖Ali Şîr Nevaî, dünya edebiyatına bıraktığı eşsiz mirasıyla bugün de ilme, maneviyata ve insanlığa ışık tutmaktadır.
🎉Büyük atamız Ali Şîr Nevaî’nin 585. doğum yıl dönümü kutlu olsun!
Gelin, bu eşsiz edebî mirası yakından tanıyalım, yaşatalım ve gelecek nesillere aktaralım.
#AlisherNavoiy#585yillik#Tariximiz
🗓9-fevral — buyuk mutafakkir va shoir Alisher Navoiy tavallud topgan kun!
Alisher Navoiy nafaqat o‘zbek adabiyotining asoschisi, balki butun Sharq tamaddunining ulkan siymolaridan biridir.
🔹 U ilk bor turkiy (o‘zbek) tilining adabiy imkoniyatlari fors tilidan kam emasligini ilmiy va badiiy jihatdan isbotlab berdi;
📊“Xamsa” asarini turkiy tilda yozgan birinchi shoir sifatida tarixda qoldi;
📊Uning merosi faqat she’riyat bilangina cheklanmay, falsafa, tarix, tilshunoslik va musiqa kabi sohalarni ham qamrab oladi.
📚 Alisher Navoiyning eng mashhur asarlari:
⚡️ “Xamsa” — besh doston:
“Hayrat ul-abror”, “Farhod va Shirin”, “Layli va Majnun”, “Sab’ai sayyor”, “Saddi Iskandariy”;
⚡️ “Muhokamat ul-lug‘atayn” — turkiy va fors tillarining qiyosiy tahlili;
⚡️ “Mezon ul-avzon” — aruz ilmi haqida risola;
⚡️“Lison ut-tayr” — tasavvufiy doston.
🕊 Alisher Navoiy merosi — millatimiz ma’naviy xazinasi va bebaho boyligidir.
#AlisherNavoiy#9Fevral#BuyukAjdod#MaʼnaviyMeros#O‘zbekAdabiyoti
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
Bugun buyuk mutafakkir, shoir va davlat arbobi — Alisher Navoiy tavallud topgan kun ✨
Alisher Navoiy — o‘zbek xalqining faxri, o‘zbek adabiyotining asoschisi va bebaho ma’naviy meros egasi. Uning asarlari insonparvarlik, adolat, ilmga muhabbat va ona tilga hurmat ruhida tarbiyalaydi 📚
Bugun Navoiy nomi — donishmandlik, ma’naviyat va milliy o‘zlik timsolidir. Biz buyuk ajdodimiz xotirasini ehtirom bilan yodga olamiz va uning g‘oyalaridan ilhom olamiz.
🕊 Alisher Navoiy merosi avlodlarni birlashtirib, doimo ezgulik va ma’rifat yo‘lida xizmat qilsin.
📞 Telefon: +998742261078
📲 Telegram: @admofadc
#AlisherNavoiy#Navoiy#MilliyMeros#Ma’naviyat #Adabiyot#Tarix