Функция 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
DogData Weekly Report #11
Hello Everyone. We hope your week was great!💥
What an exciting moment it has been. From our records, we have seen how massive we have grown and also the aggressive nature of our push. What else is new?📢
Find out more news in our #WeeklyNews
👉https://medium.com/@dogsdata/dogdata-weekly-report-11-f41ff50136f4
We are so happy for having you here 🚀
As you know DogData Team started to add #WeeklyNews about the project on Medium.
Follow the link, support the DogData project with claps 👏👏and stay up to date with the hottest news! 🔥🔥
https://medium.com/@dogsdata
“Yangi O‘zbekiston” universitetida o'tgan hafta davomida oʻtkazilgan uchrashuv va muhim tadbirlar
🔹Safia Café & Bakery kompaniyasi vakillari bilan uchrashuv bo‘lib o‘tdi;
🔹Universitetimiz talabasi Norvegiyadagi xalqaro talabalar festivalida qatnashdi;
🔹"Yangi O'zbekiston" universitetida "Kiberxavfsizlik sammiti 2025" bo‘lib o‘tdi;
🔹Ota-onalar kongressi o'tkazildi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida hafta davomida oʻtkazilgan uchrashuv va muhim tadbirlar
🔹“Yangi O‘zbekiston” universiteti rahbariyati Germaniyada bo‘lib o‘tgan konferensiyada ishtirok etdi;
🔹“Yangi O‘zbekiston” universiteti talabasi Shveytsariyada ilmiy konferensiyada ishtirok etdi;
🔹"Harbiy qismda bir kun" tadbiri o'tkazildi;
🔹“Yangi O‘zbekiston” universiteti talabalari "CanSat" musobaqasida ishtirok etdi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida hafta davomida oʻtkazilgan uchrashuv va muhim tadbirlar
🔹“Yangi O‘zbekiston” universiteti talabalari Chimyonda sayohatda bo‘lishdi
🔹Bilimga chanqoq yosh mehmonlar kutib olindi!
🔹O‘quvchilar “Yangi O‘zbekiston” universiteti bilan tanishdi
🔹Talabalarimiz “Universal Horses Stable” ot klubida unutilmas kunni o‘tkazdi
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida hafta davomida o'tkazilgan uchrashuv va muhim tadbirlar
🔹“Yangi Oʻzbekiston” universitetida profilaktik tadbir tashkil etildi
🔹“Yangi Oʻzbekiston” universiteti va School 21 hamkorligida IT sohasidagi yangi imkoniyatlar
🔹Milliy estrada simfonik orkestri kontserti o'tkazildi
🔹“Yangi Oʻzbekiston” universiteti talabalari “Jinlar bazmi” spektaklini tomosha qilishdi
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida hafta davomida o'tkazilgan uchrashuv va muhim tadbirlar
🔹 “Yangi O‘zbekiston” universitetida 2025-yilning ilk professor-o'qituvchilar yig‘ilishi bo‘lib o‘tdi.
🔹 Ipak yoʻli banki vakillari bilan uchrashuv oʻtkazildi.
🔹 MAAB akademiyasi vakillari bilan uchrashuv oʻtkazildi.
🔹 “Yoshlar o‘rtasida kiberjinoyatchilikka qarshi kurashish va uning oldini olish” mavzusida ma’ruza o‘tkazildi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida hafta davomida o'tkazilgan uchrashuv va muhim tadbirlar
🔹Koreys tili oʻqituvchilari uchun qayta tayyorlov kurslari tashkil etildi.
➖
🔹Germaniyaning Deutsche Bahn AG (DB) kompaniyasi bilan uchrashuv oʻtkazildi.
➖
🔹Xitoy energetika kengashi vakillari bilan uchrashuv oʻtkazildi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖
#haftalikyangiliklar#weeklynews
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Weekly Recap | Addis Standard
Top stories of the week from Ethiopia and the region.
Watch the full recap.
https://youtu.be/Sm_a10BhwSA?si=1FfftVvZP-wBI7Ny
#Ethiopia#AddisStandard#EthiopiaNews#HornOfAfrica#WeeklyNews
Weekly Recap | Addis Standard
Top stories of the week from Ethiopia and the region. Watch the full recap.
#Ethiopia#AddisStandard#EthiopiaNews#HornOfAfrica#WeeklyNews
https://www.youtube.com/watch?v=OlJTzSXAltc