Функция 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
Sababa 5 & Barak Cohen — Nasnusa - נסנוסה (Batov Records, 2022)
#mizrahi#psychedelic#pop#Israel
Nasnusa — сингл Sababa 5 и Барака Коэна, известного в Израиле политического деятеля. Первоначальная версия трека с Юрики Ханашима на японском вышла в 2019 году. Трек хорошо приняли во всем мире. Он регулярно звучал в передачах Жиля Петерсона на BBC Radio 6 Music и был включен в ежегодный плейлист 2021года парижского радио Radio Nova. Барак Коэн в свою очередь записал два альбома, "Sound of a String Against the Regime" и "Barak and Noam", выражающие его политическую позицию. Спродюсировал их Ноам Оксман. Недавно Барак решил уменьшить свою политическую активность, среди прочего, в пользу выпуска музыки. На Барака сильно повлиял мизрахи, музыкальный жанр Израиля, сочетающий в себе элементы европейской, ближневосточной и североафриканской музыки 70-х и 80-х. Кассеты с такой музыкой в то время в основном продавалась в районе Центрального вокзала Тель-Авива.
Spotify | AppleMusic | Bandcamp | VK
https://x.com/SavinoBalzano/status/1969802325809074538?t=43iTqjyq-kXbf4JCo_J83w&s=19
Ha fatto molto discutere il confronto nella nostra trasmissione con #Adinolfi, a proposito dello scontro tra #Iacchetti e #Mizrahi.
Secondo Mario, quella di Iacchetti sarebbe stata una condotta antisemita, solo perché l’altro era ebreo.
A me, francamente, la cosa non torna per nulla: il fatto che fosse ebreo è del tutto irrilevante. Ciò che conta, piuttosto, è la disumanità di un soggetto che, dinanzi a un massacro, arriva a chiedere di “definire bambino”.
Una citazione mi pare calzi a pennello, a prescindere dal caso specifico:
«Se uno è stronzo, non je posso di’ stupidino! Si crea delle illusioni! Je devi di’ stronzo!» (Gianfranco Funari).
#BattitoriLiberi: dal lunedì al venerdì, alle 17, su Radio Cusano.
https://x.com/SavinoBalzano/status/1968278275291259106?t=c-MNe7T1-WD0f
Purtroppo anch’io, come #EnzoIacchetti, ho avuto il dispiacere di conoscere questo individuo: Eyal #Mizrahi, presidente della Federazione Amici di Israele.
A luglio 2024 negava che #Israele avesse commesso crimini di guerra e diceva che io, sostenendo il contrario, non ci capivo nulla. All’epoca si contavano già circa 40 mila caduti, e lui farneticava di come quei numeri non fossero attendibili. Stesso squallido copione.
Capisco bene cosa ha provato #Iacchetti e ha fatto benissimo a reagire come ha reagito: sostenere certe tesi equivale a rendersi complici di un regime terrorista e genocida. Dopotutto, di collaborazionisti la storia è piena.
Sababa 5 — Sababa 5 (Batov Records, 2022)
#mizrahi#psychedelic#disco#funk#jazz#pop#Israel
Sababa 5 наконец выпустили одноименный альбом оригинальных инструментальных композиций, построенных на характерном для группы сочетании винтажного ближневосточного психоделического фанка и диско. Не обошлось здесь и без влияния мизрахи (מוזיקה מזרחית), музыкального жанр Израиля, сочетающего в себе элементы европейской, ближневосточной и североафриканской музыки 70-х и 80-х. Выпустили пластинку главные дилеры ближневосточного саунда Batov Records.
Spotify | AppleMusic | Bandcamp | VK