Функция 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
#Francia
Durante un suo comizio a Figeac in #Occitania, Emmanuel #Macron è stato contestato con un striscione che recitava "Quando tutto sarà privato saremo privati di tutto".
Il candidato Presidente ha risposto dicendo "Congratulazioni per essere in una democrazia dove puoi sfidare il presidente! Parlerò con loro dopo il comizio."
@UltimoraPolitics
Cardabèla — Cantos y danzas del Languedoc (Guimbarda, 1979)
#medieval#traditional#Occitania#France
Cardabela — французская группа из города Монпелье. Cantos y Danzas del Languedoc — их третий альбом с песнями их родного Лангедока, исторической области на юге Франции, части Окситании, родины средневековых трубадуров, население которой традиционно говорило на окситанском языке. Участники группы изучали музыку и пение трубадуров XII века. В результате их знания и происхождение сильно сказалось на звуке. Перед вами почти никому не известный выдающийся образец очень убедительного средневекового окситанского фолка.
Telegram
Jean Ségurel — Autour des Monédières (Odeon, 1959)
#chanson#traditional#Occitania#France
Для народной музыки Окситании, родины трубадуров, расположенной на юге Франции и в небольшой части Испании и Италии, характерны баллады. В балладах с этого альбома слышно переплетение мотивов этих стран, однако из-за исполнения Жана Сэгуреля они приобретают оттенок французского шансона. Жан-Батист Сэгурель – французский аккордеонист, композитор и дирижер, родился 13 октября 1908 года во французской коммуне Шомей. Сэгурель начинал как скрипач, однако, взяв в руки аккордеон по возвращению с военной службы, он осознал, что хочет посвятить этому инструменту свою жизнь. Значительный период карьеры Сэгурель был менестрелем своего времени: выступал на различных ярмарках и свадьбах. Друзья Жана-Батиста представили его основателю лейбла «Le Soleil», благодаря которому он утвердился как профессиональный музыкант. В 1968 году генерал де Голль присвоил ему звание кавалера Почетного легиона.
Spotify | AppleMusic
Bachàs — Cants E Mùsicas Dau Païs Nissart (Ventadorn, 1979)
#traditional#mandolin#violin#flute#hurdy_gurdy#accordion#Occitania#France
Bachàs — французский коллектив из города Ницца, исполнявший окситанский фолк на окситанском языке. Перед вами их первый альбом, на котором можно услышать старинные песни, инструментальную музыку и музыка для танцев из города Прованс, окрестностей Ниццы и других исторических областей юга Франции. Разнообразное звучание напоминает о музыке окситанских трубадуров и о народных мотивах соседних Испании и Италии.
Telegram
Lo Jai — Musiques Traditionnelles Du Limousin (Revolum, 1981)
#traditional#chabrette#ocarina#pifres#hurdy_gurdy#tambours#violin#Occitania#France
Группа Lo Jai была основана в Лионе в 1980 году, когда три участника фолк-группы Le Grand Rouge присоединились к своему коллеге, чтобы исследовать музыку Лимузена. Группа исполняет композиции в региональном стиле Лимузена, который напоминает арабскую музыку и служит напоминанием о том, что французская культура представляет собой не столько монолитную сущность, сколько множество региональных культур, звуков и языков. Перед вами первый альбом коллектива.
🔗Telegram