Функция 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
С большим удовольствием представляем новый релиз:
[3 вложения] — Излом Плюс Консорциум (AG011)
[3 вложения] - power electronics / death industrial / noise трио участников Московской Шумовой Мануфактуры: Владимира Черепанова (в начале года уже выпустившего на Aphotic Gaze EP своего сольного проекта t_error 404), Дмитрия Бубинского и Георгия Орлова-Давыдовского. Дебютный альбом "Излом Плюс Консорциум" включает в себя избранную аудиофиксацию концертных выступлений проекта в период с 2022 по 2023 г.
Релиз будет доступен на музыкальных площадках в ближайшее время
Релиз доступен на кассетах — обращаться @Vitte_importante
#aphotic_gaze#postindustrial#noise#harshnoise#power_electronics#death_industrial
Пост совсем уж не по тематике канала, однако:
Не могу не рассказать о втором музыкальном релизе моего учителя и товарища, культуролога Якова Сергеевича Казанцева.
СТЕРВА - Frankfurt: Kantate (2024).
Альбом, объемлющий следующие жанры: #mathcore | #chaotic_hardcore | #noise | #postindustrial | #avantgarde_jazz | #experimental, (признаться, ни грана в этом не понимаю), с головой погружает слушателя в атмосферу разорванности и дисгармоничности современной эпохи. Эпохи, в которой разум обернулся неразумием, Просвещение — Затемнением, а падение старых авторитетов — новой авторитарностью.
Этот альбом концептуален в лучшем смысле этого слова — по названиям релиза и треков нетрудно заметить, что он являет собой художественную рефлексию над работами теоретиков Франкфуртского Института социальных исследований, а по стилистике — что построен на «эстетике безобразного» Теодора Адорно.
Конечно, горячо любимый мною Г.А. Завалько, автор книги «Философские проблемы эстетики» наверняка бы такое не одобрил, но тут уж ничего не попишешь: неклассическому времени — неклассическое искусство.
В конце концов, альбом слушать действительно интересно, и если экстрим-вокал и зубодробительные гитары вам по душе, то нажимать вот сюда.
#культура
Available for order now: [email protected]
T.S.I.D.M.Z. & Maxim Mamkin - Noi Siamo Iperborei
[Ars Bellica ABR002 || E.C.T. Distribution 0021, CDr]
Limited edition of 20 hand-numbered copies-CDrs.
A dreamlike journey in search of Lost Continents with lyrics reworked from a writing by Boris Nad plus a furious and nostalgic composition in three movements with lyrics by Sol. Mutti in memory of the painful loss of the true original homeland, Hyperborea, are the two pieces that make up the al-bum "Noi Siamo Iperborei" of an Italian-Russian collaboration: T.S.I.D.M.Z. and Maxim Mamkin.
Music: Solimano Mutti & Max Mamkin
Lyrics: Solimano Mutti & Boris Nad
Mixed and mastered at Tetsuo Studio by Sol. M.
Manufactured at Geräuschkammer IV by X.I.
T S I D M Z -ThuleSehnsucht In Der MaschinenZeit-
T.S.I.D.M.Z. (ThuleSehnsucht In Der MaschinenZeit), alias ThuleSehnsucht, is an Italian project of Electronic music that inspired from various genres within the field of Industrial, Popular and Traditional Music.
MAXIM MAMKIN
Musician and artist from Bobruisk (Belarus). Currently lives in St. Petersburg (Russia).
#postindustrial#industrial#darkambient#martialindustrial#drone#ambient#neofolk#experimental
https://www.youtube.com/watch?v=LQxeLQ97efohttps://www.youtube.com/watch?v=qjDRzsomSJg