Функция 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
Fran & Flora — Precious Collection (Hidden Notes Records, 2024)
#yiddish#ambient#cello#klezmer#violin#poik#United_Kingdom
Precious Collection — второй альбом струнного дуэта Fran & Flora, в состав которого входят виолончелистка Франческа Тер-Берг и скрипачка Флора Керзон. В основе альбома лежит преимущественно клезмер, но сами музыкантки отмечают, что черпали вдохновение и в других традициях Восточной Европы. В записи также отразилось влияние фри-джаза, современной академической музыки, эмбиента и дрона.
Любовь дуэта к архивным записям и старинным рукописям прослеживается в разнообразии материала. Например, песня Feygele — это известная среди русских евреев песня «Сапожечки», а Flowers for Innocence основанна на трансильванском Gyöngyvirágos.
Среди других традиционных композиций — бурлящая энергией греческая народная мелодия Kick Up In 9 и мрачная Yikhes, где скрипка звучит как далекий тревожный вой сирены. В композиции Nudity, на фоне скрипки, задающей румынско-еврейский ритм 6/8 «сирба», звучит высокий скрипичный гул и пение в стиле Мередит Монк.
В некоторых треках слышится влияние инди-музыки. Например, бессловесные гармонии в Nign и Hold Me Close напоминают вокальные приемы Blonde Redhead иStealing Sheep. Возможно, в контексте современных музыкальных инструментов это и звучало бы эклектично, но в традиционной аранжировке такие элементы органично вплетаются в общее звучание. Они не приближают Fran & Flora к альтернативной сцене, а скорее показывают, что ростки фольклора продолжают пробиваться даже сквозь самые самобытные образцы современной музыки.
🔗 AppleMusic | Spotify | YouTube | Deezer | TIDAL | Bandcamp
Nathan "Prince" Nazaroff — Jewish Freilach Songs (Folkways Records, 1954)
#traditional#freilach#accordion#octophone#yiddish#jew#Ukraine#Russia
«Фреилах» — слово на идише, обозначающее «счастливый» или «радостный». Оно же используется в качестве названия музыкального стиля.
В сборнике Jewish Freilach Songs представлены восточноевропейские песни в стиле «фреилах». Среди них — известные шлягеры Tumbalalaika и Vander Ich Mir Lustig («Пока я радостно шагаю»). К слову, Vander Ich Mir Lustig сильно напоминает русскую песню «Яблочко», увековеченную революционными солдатами в период Гражданской войны. А в некоторых песнях, например, в Ihr Fregt Mich Vos Ich Troier (Вы спрашиваете меня, почему я скорблю?) можно даже расслышать русскую речь.
Исполняет песни Натан Назарофф, среди ервейских слушателей получивший прозвище «Принц». О нём мало что известно, кроме того, что он иммигрировал в США в 1914 году, имел еврейско-русское происхождение и работал в Театре Русского Балета в Нью-Йорке.
На этой пластинке Назарофф аккомпанирует себе на аккордеоне и октофоне, струнном инструменте, напоминающем мандолину. Стиль его исполнения восходит к городской музыке Одессы и других портовых городов.
В общем, привет всем любителям «Одесских рассказов» Исаака Бабеля.
🔗Spotify | AppleMusic | Telegram
The Brothers Nazaroff — The Happy Prince (Folkways Records, 2015)
#traditional#freilach#klezmer#accordion#mandolin#fiddle#payk#guitar#tzouras#ukulele#yiddish#jew#Ukraine#Russia#United_States
Эта запись — дань уважения Натану «Принцу» Назароффу. В 1954 году в Штатах он выпустил пластинкуJewish Freilach Songs и таким образом познакомил самый широкий круг слушателей с фольклором восточноевропейских евреев. До сих пор работа Назароффа остаётся чуть ли не единственной, на которой представлен музыкальный стиль Одессы и других портовых городов Черного Моря.
Международная супергруппа The Brothers Nazaroff, в состав которой входят Дэниел Кан, Псой Короленко, Майкл Альперт, Джейк Шульман-Мент, Боб Коэн и Хампус Мелин, вдохнула новую жизнь в наследие «Принца». «Братья» уверены, что эти песни заслуживают внимания и особого места в современной еврейской культуре.
Майкл Векс — автор крупнейшего исследования идиша Born to Kvetch. В своих заметках об альбоме Назароффа отмечает следующее:
Если бы в начале 1950-х годов в Америке существовали группы, исполняющие в барах песни на идише, то они звучали бы именно так
Братья Назарофф — как раз такая группа, но только из XXI века.
🔗Spotify | AppleMusic | Bandcamp