Функция 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
🔵Comisia Electorală Centrală a Republicii Moldova, în parteneriat cu Oficiul Consiliului Europei la Chișinău, a organizat Conferința de analiză post-electorală cu tema „Alegerile Prezidențiale și Referendumul Republican Constituțional în Republica Moldova, 20 octombrie 2024: lecții învățate, recomandări și perspective”. Evenimentul s-a desfășurat la Chișinău, în zilele de 18 - 19 martie 2025.
📲Mai multe detalii vedeți în comunicat.
#CECMoldova#CoE#ConferințaPostElectorală#Alegeri2024
👉Comisia Electorală Centrală continuă seria activităților de instruire destinate procurorilor și judecătorilor, axate pe investigarea și examinarea contravențiilor privind coruperea electorală, coruperea privind întrunirile organizate, precum și alte fapte care aduc atingere drepturilor constituționale ale persoanelor fizice.
#CECMoldova#DemocrațiaContează#Instruire#CoE#INJ
🖊Circa 20 de judecători și procurori au participat astăzi la o sesiune de instruire dedicată investigării și examinării infracțiunilor privind finanțarea ilegală a partidelor politice, a grupurilor de inițiativă, a concurenților electorali și a participanților la referendum.
👉Activitatea a fost organizată de Comisia Electorală Centrală în parteneriat cu Institutul Național al Justiției, cu suportul Oficiul Consiliului Europei la Chișinău.
#CECMoldova#DemocrațiaContează#InstruireFinanțareaIlegală#INJ#CoE
✅Comisia Electorală Centrală continuă practica de informare și instruire a persoanelor responsabile de gestionarea infracțiunilor de finanțare ilegală a partidelor politice.
📖Astăzi, 9 aprilie 2025, cu suportul Institutului Național al Justiției și Oficiului Consiliului Europei la Chișinău, peste 20 de procurori și judecători au participat la un seminar de instruire, care a avut drept scop consolidarea abilităților și competențelor în domeniul investigării și examinării infracțiunilor legate de finanțarea ilegală.
👉Totodată, aceștia s-au familiarizat cu metodele de aplicare a normelor legale în domeniul dat.
#CECMoldova#DemocrațiaContează#INJ#CoE#Seminar
💬Secretara Comisiei Electorale Centrale, Dana Munteanu, a participat la lansarea cursului de instruire la distanță „Integritatea electorală”, elaborat și gestionat de Centrul de instruire continuă în domeniul electoral (CICDE).
🔵Comisia Electorală Centrală salută dezvoltarea acestui program educațional destinat funcționarilor electorali, care are drept scop consolidarea standardelor de integritate în procesele electorale.
#CECMoldova#DemocrațiaContează#ELearning#CICDE#CoE#IntegritateElectorală
Stimați reprezentanți ai mass-media,
Comisia Electorală Centrală are deosebita plăcere să vă invite la 𝐂𝐨𝐧𝐟𝐞𝐫𝐢𝐧ț𝐚 𝐑𝐞𝐠𝐢𝐨𝐧𝐚𝐥ă „𝐁𝐚𝐧𝐢𝐢 î𝐧 𝐏𝐨𝐥𝐢𝐭𝐢𝐜ă”, cu subiectul „𝐁𝐚𝐧𝐢, 𝐒𝐞𝐜𝐮𝐫𝐢𝐭𝐚𝐭𝐞 ș𝐢 𝐃𝐞𝐦𝐨𝐜𝐫𝐚ț𝐢𝐞: 𝐀𝐩ă𝐫𝐚𝐫𝐞𝐚 𝐢𝐧𝐭𝐞𝐠𝐫𝐢𝐭ăț𝐢𝐢 𝐞𝐥𝐞𝐜𝐭𝐨𝐫𝐚𝐥𝐞 î𝐧 𝐞𝐫𝐚 𝐝𝐢𝐠𝐢𝐭𝐚𝐥ă”, care se va desfășura în perioada 𝟖-𝟗 𝐢𝐮𝐥𝐢𝐞 𝟐𝟎𝟐𝟓 𝐥𝐚 𝐂𝐡𝐢ș𝐢𝐧ă𝐮.
Conferința va avea loc la 𝐂𝐡𝐢ș𝐢𝐧ă𝐮, 𝐑𝐞𝐩𝐮𝐛𝐥𝐢𝐜𝐚 𝐌𝐨𝐥𝐝𝐨𝐯𝐚, în perioada 𝟖-𝟗 𝐢𝐮𝐥𝐢𝐞 𝟐𝟎𝟐𝟓, la 𝐔𝐫𝐛𝐚𝐧 𝐁𝐮𝐬𝐢𝐧𝐞𝐬𝐬 𝐂𝐞𝐧𝐭𝐞𝐫 (bld. Ștefan cel Mare, 115/1). Lucrările 𝐩𝐫𝐢𝐦𝐞𝐢 𝐳𝐢𝐥𝐞 a Conferinței vor începe la 𝐨𝐫𝐚 𝟎𝟗:𝟎𝟎.
Detalii despre eveniment puteți găsi accesând adresa web https://moneyinpolitics.md
𝐀𝐓𝐄𝐍Ț𝐈𝐄! Accesul la eveniment a jurnaliștilor se va face în baza legitimațiilor de serviciu.
Vă așteptăm!
#CECMoldova#DemocrațiaContează#MiP#IDEA#CoE#IFES#WFD#IRI