Функция 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
🇭🇺#Ungheria – Secondo il Financial Times l'ambasciatore ungherese presso l'Unione europea ha sollevato un'obiezione che blocca il prestito Ue da 90 miliardi all'Ucraina, concordato a dicembre; la decisione richiede l'unanimità dei 27 Stati. Ungheria, Slovacchia e Repubblica Ceca avevano chiesto di non essere responsabili di interessi e rimborso.
@UltimoraPolitics24
#Ungheria
L’Ungheria non pensa che Gazprom taglierà il gas al Paese e non ha un piano per sostituirlo “da un giorno all’altro”, ha riferito giovedì il governo, aggiungendo che, se necessario, pagherà in rubli.
@UltimoraPolitics
#Ungheria: Il Vicepresidente JD Vance si recherà in Ungheria il 7 e 8 aprile per incontri bilaterali con Viktor Orban. Vance pronuncerà un discorso anche sull’importanza della partnership tra i due Paesi.
Gli incontri avverranno a pochi giorni dalle elezioni politiche ungheresi, previste per il 12 aprile.
#Ungheria, #Trump: “L'Altamente Rispettato Primo Ministro dell'Ungheria, Viktor Orbán, è un Leader veramente forte e potente, con una comprovata esperienza nel fornire risultati fenomenali.
Lui combatte instancabilmente per, e ama, il suo Grande Paese e il suo Popolo, proprio come faccio io per gli Stati Uniti d'America. Viktor lavora sodo per Proteggere l'Ungheria, Far Crescere l'Economia, Creare Posti di Lavoro, Promuovere il Commercio, Fermare l'Immigrazione Illegale, e Garantire LEGGE E ORDINE!
Le relazioni tra l'Ungheria e gli Stati Uniti hanno raggiunto nuove vette di cooperazione e spettacolari risultati sotto la mia Amministrazione, grazie in gran parte al Primo Ministro Orbán. Non vedo l'ora di continuare a lavorare a stretto contatto con lui affinché entrambi i nostri Paesi possano far avanzare ulteriormente questo straordinario percorso verso il SUCCESSO e la cooperazione.
Ero orgoglioso di APPOGGIARE Viktor per la Rielezione nel 2022, e sono onorato di farlo di nuovo. Viktor Orbán è un vero amico, combattente, e VINCITORE, e ha il mio Completo e Totale Appoggio per la Rielezione a Primo Ministro dell'Ungheria — LUI NON DELUDERÀ MAI IL GRANDE POPOLO DELL'UNGHERIA!
PRESIDENTE DONALD J. TRUMP”
#Ungheria🇭🇺
#Parlamentari
Grafico storico dell'affluenza.
Nel grafico allegato è mostrato l’andamento dell’affluenza nel corso della giornata elettorale, mettendo a confronto le diverse tornate dal 1994 al 2026.
Ogni linea rappresenta un anno elettorale; ogni puntino corrisponde a una rilevazione ufficiale effettuata a un orario specifico. In alcune elezioni i puntini compaiono in orari diversi perché, nel tempo, sono cambiati gli orari delle comunicazioni intermedie dei dati.
È molto in evidenza il dato del 2026, che si colloca sopra tutte le serie storiche per gran parte della giornata e chiude al 79,56%, il livello più alto dell’intero confronto.
@TuttoElezioni
#Ungheria🇭🇺
#Parlamentari
I risultati finali non saranno disponibili prima del 18 aprile. Continueremo comunque ad aggiornarvi con i dati ufficiali; nel frattempo, vi ringraziamo per aver seguito con noi le elezioni parlamentari in Ungheria.
@TuttoElezioni
#Ungheria🇭🇺
#Parlamentari
Il prossimo dato sull'affluenza, l'ultimo prima della fine della votazione, sarà reso noto in corrispondenza con la chiusura delle urne, in quanto riferito alle 18:30.
@TuttoElezioni
#Ungheria🇭🇺
#Parlamentari
❗️La partecipazione elettorale alle 17:00 supera qualsiasi affluenza finale mai avuta nelle elezioni parlamentari del Paese.
@TuttoElezioni