Функция 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
😱 Kiberpankka oz qoldi...
🫀 Haqiqiy yurak transplantatsiyasi uchun navbatlar juda uzun, shu sababli olimlar sun’iy yuraklarni faol ishlab chiqmoqda. Tez orada real hayotdagi sinovlar ham boshlanarmish.
➡️#tibbiyot | Birinchi raqamli IT-Blog
Prezident Shavkat Mirziyoyev Raqamli sog‘liqni saqlash markazi va Respublika ixtisoslashtirilgan kardiologiya ilmiy-amaliy tibbiyot markazining Samarqand filiallari faoliyati bilan tanishdi. Shu bilan davlatimiz rahbarining Samarqand viloyatiga tashrifi yakunlandi, Prezidentimiz Toshkentga qaytib keldi.
—
Президент Шавкат Мирзиёев ознакомился с деятельностью самаркандских филиалов Центра цифрового здравоохранения и Республиканского специализированного научно-практического медицинского центра кардиологии. На этом поездка главы государства в Самаркандскую область завершилась, Президент нашей страны вернулся в Ташкент.
#Mirziyoyev#safar#Samarqand#tibbiyot
Prezident.uz|Facebook|Instagram|YouTube|X
Yevropa Ittifoqining birinchi raqamli oliygohi — Myunxen texnika universiteti bilan tarixiy hamkorlik!
⚡️ “Yangi O’zbekiston” universiteti dunyoning TOP-22, Yevropaning eng ilg’or universiteti — Myunxen texnika universiteti (TUM) bilan strategik hamkorlikni kengaytirmoqda!
✨TUM Prezidenti Prof. Tomas Xofmann, klinika bosh direktori Martin Ziess va tibbiyot maktabi dekani Prof. Stefani Kombs bilan uchrashuvlar o'tkazildi.
✅ Uchrashuv natijalariga ko'ra quyidagilarga kelishib olindi:
🧪 “Yangi O’zbekiston” universitetida Tibbiyot maktabi Myunxen Texnika universiteti bilan hamkorlilda tashkil etiladi
🌍Talabalar almashinuvi dasturlari yo‘lga qo‘yiladi
🔬Biomuhandislik va tibbiy muhandislikda ilg‘or ilmiy hamkorlik rejalashtirilmoqda
🎗 Bu hamkorlik — sog‘liqni saqlash va ta’lim sohasida global maydonga qo'yilayotgan qadamni ko'rsatib beradi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#TUM#hamkorlik#tibbiyot
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Президент Шавкат Мирзиёев Қарши шаҳрида қурилган Республика ихтисослаштирилган Она ва бола саломатлиги илмий-амалий тиббиёт марказининг ҳудудий филиалига ташриф буюрди.
—
Президент Шавкат Мирзиёев посетил построенный в городе Карши региональный филиал Республиканского специализированного научно-практического медицинского центра здоровья матери и ребенка.
#Mirziyoyev#safar#Qashqadaryo#tibbiyot
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Prezident Shavkat Mirziyoyev yangidan barpo etilgan Jizzax viloyati koʻp tarmoqli tibbiyot markaziga tashrif buyurdi.
—
Президент Шавкат Мирзиёев посетил вновь построенный многопрофильный медицинский центр Джизакской области.
#Mirziyoyev#safar#Jizzax#tibbiyot
Prezident.uz|Facebook|Instagram|YouTube|X
🗿Prezident Shavkat Mirziyoyev yangidan barpo etilgan Jizzax viloyati koʻp tarmoqli tibbiyot markaziga tashrif buyurdi.
#Mirziyoyev#safar#Jizzax#tibbiyot
🌐 Bizni ijtimoiy tarmoqlarda kuzating!
✈️@JTV_rasmiy
✈️@JTV_Reklama
Prezident Shavkat Mirziyoyev sogʻliqni saqlash tizimini yanada rivojlantirish, tibbiy xizmatlar sifatini oshirish va xususiy sektor ishtirokini kengaytirish chora-tadbirlari yuzasidan taqdimot bilan tanishdi.
—
Президент Шавкат Мирзиёев ознакомился с презентацией по мерам дальнейшего развития системы здравоохранения, повышения качества медицинских услуг и расширения участия частного сектора.
#Mirziyoyev#taqdimot#tibbiyot#xususiysektor
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Raqamli sog‘liqni saqlash markazi va Respublika ixtisoslashtirilgan kardiologiya ilmiy-amaliy tibbiyot markazining Samarqand filiallari faoliyati bilan tanishdi. Shu bilan davlatimiz rahbarining Samarqand viloyatiga tashrifi yakunlandi, Prezidentimiz Toshkentga qaytib keldi.
—
Президент Шавкат Мирзиёев ознакомился с деятельностью самаркандских филиалов Центра цифрового здравоохранения и Республиканского специализированного научно-практического медицинского центра кардиологии. На этом поездка главы государства в Самаркандскую область завершилась, Президент нашей страны вернулся в Ташкент.
#Mirziyoyev#safar#Samarqand#tibbiyot
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Тошкент шаҳридаги “M-Clinic” кўп тармоқли тиббиёт марказини бориб кўрди.
—
Президент Шавкат Мирзиёев ознакомился с многопрофильным медицинским центром “M-Clinic” в городе Ташкенте.
#Mirziyoyev#tanishuv#tibbiyot#klinika
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Prezident Shavkat Mirziyoyev Raqamli sog‘liqni saqlash markazi va Respublika ixtisoslashtirilgan kardiologiya ilmiy-amaliy tibbiyot markazining Samarqand filiallari faoliyati bilan tanishdi. Shu bilan davlatimiz rahbarining Samarqand viloyatiga tashrifi yakunlandi, Prezidentimiz Toshkentga qaytib keldi.
—
Президент Шавкат Мирзиёев ознакомился с деятельностью самаркандских филиалов Центра цифрового здравоохранения и Республиканского специализированного научно-практического медицинского центра кардиологии. На этом поездка главы государства в Самаркандскую область завершилась, Президент нашей страны вернулся в Ташкент.
#Mirziyoyev#safar#Samarqand#tibbiyot
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев фтизиатрия ва пульмонология соҳасини ривожлантириш, ОИТС касаллигининг олдини олиш масалалари бўйича йиғилиш ўтказди.
—
Президент Шавкат Мирзиёев провел совещание по вопросам развития фтизиатрии и пульмонологии, профилактики СПИДа.
#Mirziyoyev#yigilish#tibbiyot#profilaktika
Prezident.uz|Facebook|Instagram|YouTube|Twitter