Функция 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
⚡️Moyen-Orient : l'#Occident et ses priorités fluctuantes
Dans le contexte de cette nouvelle escalade au Moyen-Orient, les discours médiatiques et les déclarations politiques semblent confirmer une chose : le regard occidental dépend souvent des intérêts du moment.
C’est en tout cas la conclusion à laquelle est arrivé notre reporter Igor Kourachenko.
RT en français • Osez questionner !
🇫🇷🌎Alain Soral, écrivain franco-suisse: l'enjeu en ce moment, c'est d'échapper à la Troisième Guerre mondiale
C'est le chantier, c'est le programme. Ce n'est pas évidemment facile parce que ce sont des nations souveraines qui n'ont pas strictement tous les mêmes intérêts. Mais la charte qui est derrière, c'est qu'il n'y aura pas de puissance qui écrasera les autres. Donc, ce sont des négociations souvent pays à pays, petit groupe par petit groupe, mais qui sont, je dirais, obligés de réussir, parce que l'enjeu en ce moment, c'est quand même d'échapper à la Troisième Guerre mondiale
#brics#occident#guerre
Retour à l'histoire
Les tentatives de l’#Occident de réécrire l’histoire n'étonnent plus personne, sauf que cette fois-ci, il s’agit d’une tragédie mondiale, et d'un exploit pour toute l’humanité. Pour Olaf #Scholz, c’est aux États-Unis que l’#Allemagne doit sa liberté. Notre reporter Igor Kourachenko nous rejoint avec toutes les précisions.
RT en français • Osez questionner !
🎙 Interviu acordat de E.S. dl. Vladimir Lipaev, Ambasadorul Extraordinar și Plenipotențiar al Federației Ruse în România, agenției de presă TASS(5 februarie 2026)
🗝Teze cheie:
#RusiaRomânia
🔹 Rusia este orientată spre menținerea unor relații normale și constructive, bazate pe beneficiu reciproc și pe luarea în considerare a intereselor naționale, cu toate statele. Totuși, această aspirație trebuie să fie reciprocă. Din partea Bucureștiului, deocamdată, nu se observă o astfel de disponibilitate.
🔹 Partea română urmează fără rezerve linia celor mai agresivi și mai puțin adecvați lideri ai Uniunii Europene și ai NATO, care continuă să se amăgească cu visul unei revanșe istorice și al provocării unei „înfrângeri strategice” Rusiei.
🔹 Nu ne impunem nimănui drept parteneri. Tonul arogant și didactic față de țara noastră, pe care politicienii români și-l permit adesea, este nepotrivit. Este naiv să se creadă că Rusia, cu teritoriul său vast și bogățiile naturale inepuizabile, este mai interesată de reluarea cooperării decât însăși România.
#Rusofobie#Discriminare
🔹 Din anul 2022, autoritățile române au întreprins o serie de acțiuni ostile, îndreptate spre crearea deliberată de obstacole în calea funcționării normale a misiunii diplomatice ruse [la București].
🔹 În repetate rânduri au fost expulzați diplomați ruși <...>, a fost nevoit să își înceteze activitatea Centrul Rus de Știință și Cultură, iar școala de pe lângă Ambasada a fost închisă. <...> Suntem nevoiți să ne confruntăm cu o discriminare protocolară totală: accesul Ambasadei și al angajaților noștri la servicii bancare este limitat, partea română tergiversează sau blochează în mod regulat eliberarea vizelor etc.
#Occident#Neocolonialism#Ucraina
🔹 Occidentul, de-a lungul secolelor, s-a obișnuit atât de mult să își construiască bunăstarea pe jefuirea colonială a altor popoare, încât nici măcar nu admite posibilitatea existenței sale într-o altă paradigmă, bazată pe egalitate în drepturi și justiție.
🔹 România aspiră să facă parte din această lume, poate sperând că, în eventualitatea unei împărțiri economice a Ucrainei, i-ar putea reveni și ei ceva drept „premiu” <...>.
#NATO#UE#Militarizare
🔹 Conducerea României susține atitudinea belicoasă și antirusă a aliaților săi din NATO, pledează pentru creșterea contingentului militar străin pe teritoriul său și urmează un curs de militarizare a țării.
🔹 Creșterea bruscă a cheltuielilor militare în următorii ani va fi realizată din fonduri împrumutate, furnizate de Uniunea Europeană și Statele Unite ale Americii, ceea ce înseamnă că povara va cădea inevitabil asupra generațiilor viitoare de contribuabili români.
🔹Apartenența României la NATO nu protejează, în realitate, țara; aceasta reprezintă doar o iluzie liniștitoare <...>. Urmarea cursului aventurist al acestui bloc, orientat spre confruntarea armată cu Rusia, sporește riscurile politico-militare pentru București și constituie principala amenințare la adresa securității țării.
🔹 Românii ar trebui să își dea seama că teritoriul lor este privit de comandamentul alianței doar ca o zonă-tampon pe flancul său sud-estic, în eventualitatea unui război cu Rusia, precum și ca un cap de pod pentru lansarea unui atac preventiv, dezarmant împotriva Rusiei. Soarta ulterioară a României nu îi preocupă pe strategi NATO.
Citiți integral (în limba rusă): https://tass.ru/interviews/26353683