Функция 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
Stamani, Papa #LeoneXIV ha ricevuto in udienza, nel Palazzo Apostolico, il Principe Alberto II di #Monaco, il quale si è successivamente incontrato con mons. Paul Richard Gallagher, Segretario per i Rapporti con gli Stati e le Organizzazioni Internazionali.
"Nel corso dei cordiali colloqui in Segreteria di Stato - si legge in un comunicato diffuso dalla Sala Stampa vaticana -, sono state sottolineate le buone relazioni bilaterali esistenti e si è fatto riferimento al contributo storico e significativo della Chiesa Cattolica alla vita sociale del Principato. Nel prosieguo della conversazione ci si è soffermati su alcune questioni di interesse comune, come la cura dell’#ambiente, l’aiuto umanitario e la difesa e la promozione della dignità della persona umana. Infine, vi è stato anche uno scambio di opinioni sull’attualità internazionale, con particolare enfasi sulla pace e la sicurezza, e sulla situazione generale in #MedioOriente e in alcune regioni dell’#Africa".
Durissimo scontro ieri con un esponente di ULTIMA DE-GENERAZIONE al TG PLUS di Cusano Italia TV
#ultimagenerazione#politica#green#ambiente#politica#informazione#televisione
Certi giornali sarebbero rifiutati anche dai nostri uccellini se li adoperassimo sul fondo della gabbietta.
Sono poi gli stessi giornali che - dopo aver scritto minchiate su ogni argomento possibile e immaginabile, seminando il panico col solo scopo di sostenere una certa parte (non quella dei più fragili, evidentemente) - si permettono persino il lusso di insultare coloro i quali provano ad alimentare un dibattito minimamente serio.
La mia a Res Pubblica, di Cusano Italia TV
#italia#politica#informazione#giornalismo#dibattito#televisione#climatechange#surriscaldamentoglobale#ambiente#green
https://youtu.be/tEKu7O-TErI
Glifosato a colazione: è davvero acqua passata? 🥣☠️
Per anni ci hanno raccontato che il problema fosse “roba vecchia”. In realtà l’uso del glifosato è esploso proprio negli ultimi 20 anni.
📊 Dal 1974 a oggi ne sono stati rilasciati 13 miliardi di chili nell’ambiente.
📈 Oltre l’80% è stato spruzzato dopo la fine degli anni ’90.
Oggi le tracce sono praticamente ovunque:
💧 nell’acqua piovana e nei fiumi
🌾 nei cereali e negli alimenti ultra-processati
🧪 nelle urine di circa l’80% della popolazione (con picchi ancora più alti nei bambini)
E mentre la contaminazione aumenta, le soglie considerate “sicure” sono state alzate e l’autorizzazione europea è stata rinnovata fino al 2033.
Più glifosato per tutti, dunque. Ma a che prezzo?
👉 Salva il reel e mandalo a qualcuno che pensa che i pesticidi siano un problema del passato.
#glifosato#pesticidi#sicurezzaalimentare#agricoltura#salute#ambiente
🐛 Segui il Capibara 🐞
Chi ci governa pensa davvero al futuro?
Siccità, desertificazione, crisi energetica… mentre la politica litiga sul nulla, il tempo scorre.
Abbiamo soluzioni concrete per garantire acqua, energia e resilienza, ma mancano volontà e visione.
...E se iniziassimo a progettare il Paese di domani invece di rincorrere emergenze? 🌊⚡️🌱
📌 In questo carosello:
- Come un sistema di desalinizzazione e energie rinnovabili potrebbe cambiare l’Italia;
- Perché investire ora significa creare lavoro e sicurezza;
- Idee radicali per città sotterranee e infrastrutture del futuro;
💭 Come immagini il nostro Paese tra 50 anni?
#Politica#Futuro#Visione#Italia#Acqua#Energia#Clima#Resilienza#Desalinizzazione#Rinnovabili#Ambiente#Infrastrutture#Geopolitica#Cambiamento#Innovazione#TransizioneEcologica#Sostenibilità#Idrica#CrisiClimatica#Lavoro
Apri qui ⚡️🗣⚡️🗣https://www.instagram.com/p/DNIO8jRM8mr/?img_index=1