Функция 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
Osem ľudí utrpelo zranenia v dôsledku výbuchu skladu pyrotechniky vo Vladikavkaze.
#Rusko
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174450
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-10 12:39:54
Osem ľudí, medzi nimi dvaja deti, utrpelo zranenia v dôsledku zásahu ukrajinského dronu na bytový dom v Novorossijsku.
V dôsledku série útokov utrpel vážne poškodenie aj ropný terminál prístavu.
#Rusko
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174200
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-06 05:17:30
-Bananator v2.0 nočný bojovník -
Nákladná loď s pšenicou sa potopila v Azovskom mori. Sú obete na životoch a nezvestní. Príčina je neznáma.
Fakt, že posádka nestihla rýchlo evakuovať, môže naznačovať útok na loď.
#Rusko
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174175
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-05 13:08:57
18 ľudí bolo hospitalizovaných v dôsledku vykolejenia osobného vlaku v Uľjanovskej oblasti, dvaja z nich sú v ťažkom stave.
Celkovo bolo vo vlaku 412 cestujúcich, všetci boli evakuovaní z miesta nehody.
Príčinou incidentu bol nevhodný technický stav železničnej trate.
#Rusko
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174034
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-03 12:54:38
Vývoj sovietskych a neskôr ruských stíhačiek Suchoj.
1955 - 2025.
#Rusko
Zdroj: @new_militarycolumnist
@casusbellilive
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
Dvaja diverzanti boli zatknutí, ďalší je vyhlásený za medzinárodne hľadaného za teroristický útok v vojenskom mestečku v Chabarovskom kraji.
28. apríla prenikli na územie vojenského mestečka v obci Kňazevo-Volkonskoje v Chabarovskom kraji teroristi verbovaní ukrajinskými špeciálnymi službami.
Páchateľia umiestnili do poštovej schránky na nádvorí obytného domu domácej výroby výbušné zariadenie s výbušnou silou približne 500 g v trotilovom ekvivalente.
SBU bolo aktivované diaľkovo a teroristi sledovali obeť pomocou videokamery.
Výbuchom bol zabitý podplukovník OS RF, ďalšie štyri osoby utrpeli otras mozgu a ľahké zranenia.
Podľa informácií médií bola skutočným cieľom teroristov generálmajor Azatbek Omurbekov, veliteľ 64. gardovej motostreleckej brigády.
#Rusko
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/175450
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-30 16:47:04
❗️Ukrajina je pripravená podporiť veľkonočné prímerie, ktoré vyhlásil Vladimír Putin, a vzájomne sa vzdať ďalších útokov po jeho skončení, vyhlásil Zelenskyj.
#Rusko#Ukrajina
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174419
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-10 07:22:19
Minister obrany Ukrajiny Mychajlo Fedorov vyhlásil, že za marec bolo zostrelených 33 000 ruských dronov, čo umožňuje pochopiť rozsah použitia UAV.
#Rusko#Ukrajina
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174348
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-08 20:24:09
Spustenie bezposádkovej lode Magura V5, ktorá 3. marca zaútočila na ruský plynovod ARCTIC METAGAZ, bolo uskutočnené ukrajinskými vojakmi zo svojej základne v Ez-Závii na pobreží Stredozemného mora neďaleko Tripolisu.
Objekt, rovnako ako niekoľko ďalších na území Líbye, je v užívaní Ukrajiny v rámci dohody s Vládou národnej jednoty.
/francúzske vydanie RFI/
#Rusko#Ukrajina
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174116
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-04 08:11:59
Pokračuje rozširovanie bezpečnostnej zóny na hranici s Ruskom. Pod kontrolu OS RF bol prevzatý obývaný bod Zemljanky v Charkovskej oblasti.
#Rusko#Ukrajina
🌐Zdroj:
🔗Link:https://t.me/new_militarycolumnist/175317
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-28 11:22:05
Spustenie bezposádkovej lode Magura V5, ktorá 3. marca zaútočila na ruský plynovod ARCTIC METAGAZ, bolo uskutočnené ukrajinskými vojakmi zo svojej základne v Ez-Závii na pobreží Stredozemného mora neďaleko Tripolisu.
Objekt, rovnako ako niekoľko ďalších na území Líbye, je v užívaní Ukrajiny v rámci dohody s Vládou národnej jednoty.
/francúzske vydanie RFI/
#Rusko#Ukrajina
@new_militarycolumnist
🌐Zdroj:@new_militarycolumnist
🔗Link:https://t.me/new_militarycolumnist/174116
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-04 08:11:59