Функция 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
🚨🇺🇸⚡️🇮🇳 ~ NEW: US President Donald Trump in his recent visit to Doha said he has asked Tim Cook to not make any Apple products in India.
"Told #Apple CEO Tim Cook, we're not interested in you building in #India, they can take care of themselves." - says Donald Trump in #Doha, Qatar.
VISHWAGURU MASTERSTROKE
#Israele colpisce #Doha la capitale del #Qatar e dichiara di aver ucciso una serie di vertici di #Hamas, l'organizzazione comunica di aver perso 6 suoi membri.
#AbbasAraghchi, Ministro degli Esteri iraniano parla in tv a #Doha: "L'arricchimento dell'uranio deve continuare; questo è un nostro diritto. Tuttavia, siamo pronti a raggiungere un accordo sul tasso di arricchimento. L'incontro a #Oman ha avuto un buon inizio. Se scoppiasse una guerra, la sua portata includerebbe l'intera geografia della regione e tutte le basi statunitensi. Dai territori occupati al Golfo Persico e al Golfo di Oman, dove si trovano le basi #USA. Il nostro accesso alle basi statunitensi è facile e questo aumenta la loro vulnerabilità".
L'#ArabiaSaudita e il #Pakistan, potenza nucleare, hanno firmato mercoledì scorso un patto di "strategia di difesa reciproca", in per rafforzare significativamente una partnership di sicurezza decennale tra i due paesi, in un contesto di crescenti tensioni regionali e dubbi sull'affidabilità delle garanzie di sicurezza degli #USA dopo l'attacco israeliano a #Doha/#Qatar.
Uzbekistan condemned Israel’s strikes on a residential area in Doha, calling them a breach of sovereignty and a threat to Qatar’s security. Read more on our website.
https://yep.uz/en/2025/09/uzbekistan-condemns-israel-strikes-doha/
#uzbekistan#doha#israel#qatar#internationalLaw#middleEast
#GhaziHamad, uno degli alti esponenti di #Hamas appare in diretta tv sul canale televisivo #AlJazeera, collegato dal suo ufficio a #Doha in #Qatar e comunica di essere stato nell'edificio colpito dall'#Israele lo scorso mercoledì durante l'attacco e conferma l'uccisione di 6 membri dell'organizzazione.
If you are going to visit Doha, you can use this selection of attractions that are worth visiting:
◽Museum of Illusions
◽Gondolania Theme Park & Villaggio Mall
◽The Pearl Island
◽Souq Waqif
◽Simaisma Beach
✈️ P.S. We will operate flights to Doha once a week: on Thursdays.
☎️ Tel.: 44-640-40-49, 44-640-40-50, 1133.
🌊
Если Вы собрались в Доху, Вам не помешает эта подборка достопримечательностей, которые стоит посетить:
◽Музей Иллюзий
◽Тематический парк Gondolania и Торговый центр Villaggio
◽Набережная The Pearl Island
◽Рынок Souq Waqif
◽Пляж Simaisma Beach
✈️ P.S. Мы будем совершать полёты в Доху раз в неделю: по четвергам.
☎️ Тел.: 44-640-40-49, 44-640-40-50, 1133.
#somonair#doha#qatar#newroute#сомонэйр#доха#катар#новыйрейс
O‘zbekiston Isroilning Doha shahridagi turar joy hududiga uyushtirgan hujumlarini qoraladi, buni Qatar suverenitetiga tahdid deb baholadi. Batafsil saytimizda.
https://yep.uz/uz/2025/09/ozbekiston-isroil-doha-hujumlarini-qoraladi/
#ozbekiston#doha#isroil#qatar#xalqarohuquq#yaqinsharq
O‘zbekiston prezidenti Shavkat Mirziyoyev Qatar amiri bilan telefon orqali Isroilning Dohaga raketa zarbalarini qat’iy qoraladi.
https://yep.uz/uz/2025/09/mirziyoyev-qatar-amiri-isroil-zarbalar/
#O‘zbekiston #Mirziyoyev#Qatar#Isroil#Doha#YaqınSharq#XalqaroHuquq#RaketaZarbalar
☺️🎙💥👀🇺🇸🏴☠️🏎🏎🏎🇺🇦🏴☠️ "Überraschung" - Trump Jr: "50 Prozent aller Bugattis und Ferraris in Monaco haben ukrainische Kennzeichen"
Donald Trump Jr., der Sohn des US-Präsidenten, hat am Sonntag beim Doha Forum in Katar die Führung in Kiew, Europa und die Biden-Regierung scharf attackiert. Hintergrund sind die laufende Korruptionskrise in der Ukraine sowie die Festnahmen aus Präsident Wladimir Selenskijs engstem Kreis wegen Diebstahls in Höhe von Hunderten Millionen.
Mit einer Anekdote brachte der Unternehmer den Saal zum Staunen: "Dieses Jahr in Monaco: An einem normalen Tag hatten 50 Prozent aller Bugattis und Ferraris ukrainische Kennzeichen. Glauben wir wirklich, dass dieses Geld in der Ukraine verdient wurde?"
Während einfache Ukrainer an der Front sterben, seien die Reichen längst geflohen.
🎙💡🔍"Solange der Westen weiter Milliarden schickt und niemand kontrolliert, hat die ukrainische Elite keinen Grund, diesen Krieg zu beenden", sagte Trump Jr. wörtlich.
Quelle RT
👀 Teilen kann zum Aufwachen beitragen!
✨🆕🌐Hauptkanal
✨▶️🌐 Videokanal
✨▶️🙂Funnykanal
#USA#TrumpJr#Doha#DohaForum#Monaco#Ferrari#Bugatti#UkraineKorruption#UkraineHilfe
#Update: #Ethiopian Airlines extends flight suspensions to several #Middle_East destinations as regional airspace closures persist
Ethiopian Airlines has announced updated suspension of flights to and from multiple Middle East destinations due to ongoing airspace closures across the region, the airline said in a statement.
The cancellations affect services to #Amman (Jordan), #Beirut (Lebanon), #Tel_Aviv (Israel), #Doha (Qatar), #Kuwait City (Kuwait), #Dubai (United Arab Emirates), #Sharjah (United Arab Emirates), #Abu_Dhabi (United Arab Emirates), and #Dammam (Saudi Arabia).
The suspension will remain in effect until further notice.
The airline urged passengers traveling to or from the affected region to regularly check their flight status through its official digital platforms to avoid inconvenience.
Earlier today it was reported that at least one Ethiopian national is among 58 people injured in the United Arab Emirates (UAE) following a series of....
Read more: https://addisstandard.com/?p=55477