Функция 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
Анатолий Никулин — ПЕСНИ ГНЕВА (2024)
Альбом записан 20 апреля 2024 года в LAB. D-21
Анатолий Никулин - гитара, Pribor F-X, TC Electronic Brainwaves Pitch Shifter, Mooer Micro Looper
Обложка: Alex Fry
#noise
Иногда они возвращаются снова! 26 ноября уже в эту субботу рок-ансамбль Прохор и Пузо, освежившийся после почти двухгодичного перерыва, вдарит ревущими струнами в Рюмочной Зюзино. Перед самым концом света! 💥 Будут все хиты и лучшие песни 🎹 Старт угара в 20:00 #noise#rock#against#apocalypse
Билеты и столики здесь - https://ryumochnaya.net/node/826
#Tollere#Lists#Without#Noise
Join the Tollere – Lists Without Noise beta on ✈️#TestFlight
🔗 Link: https://testflight.apple.com/join/pnCbFmnc
Shared by Dimitri
📍 Road from Surum to Tashaul
📅 Video recorded on February 26
The village of Surum (Sur-um) is located in Tashkent Region, bordering the Sergeli and Yangihayot districts of Tashkent (about 9 km from the center of Sergeli).
The video shows thick dust from operating crushers. According to local residents, this situation has been ongoing for a long time.
Residents complain about:
▪️ constant loud noise;
▪️ dense dust in the air;
▪️ difficulty breathing and worsening living conditions.
The community asks authorities to pay attention to the environmental situation and take measures to reduce dust and noise levels.
❗️ The situation requires inspection by responsible agencies and an assessment of its impact on the environment and public health.
#Environment#TashkentRegion#Dust#Noise#EnvironmentalIssue
☘️ Follow the latest environmental news on @ekologuz. Send your suggestions and feedback via @eklguz_bot!
SPEED_TV запускает Open Call для декабрьского концерта.
Ищем тех, кто звучит, шумит, орёт, вибрирует, стучит, светит и создаёт.
Если ты:
— играешь на гитаре, басу или чем-то с непредсказуемым перегрузом;
— жужжишь на синтах, собираешь модули, пишешь звук в поле;
— барабанишь, гроулишь или работаешь с голосом как с инструментом;
— делаешь абстрактные арт-проекты: картины, объекты, инсталляции;
— занимаешься видеоартом, делаешь маппинг, проекции или живые визуалы
и при этом являешься девушкой или идентифицируешь себя как женщина,
мы хотим тебя в лайнапе.
Чтобы попасть в программу, напиши нам в директ.
#opencall#visualart#noise#performance#undergroundscene
#Veil#White#Noise#Sleep#Sounds
Join the Veil: White Noise Sleep Sounds beta on ✈️#TestFlight
🔗 Link: https://testflight.apple.com/join/7e5QCyMz
Shared by Dimitri
Пост совсем уж не по тематике канала, однако:
Не могу не рассказать о втором музыкальном релизе моего учителя и товарища, культуролога Якова Сергеевича Казанцева.
СТЕРВА - Frankfurt: Kantate (2024).
Альбом, объемлющий следующие жанры: #mathcore | #chaotic_hardcore | #noise | #postindustrial | #avantgarde_jazz | #experimental, (признаться, ни грана в этом не понимаю), с головой погружает слушателя в атмосферу разорванности и дисгармоничности современной эпохи. Эпохи, в которой разум обернулся неразумием, Просвещение — Затемнением, а падение старых авторитетов — новой авторитарностью.
Этот альбом концептуален в лучшем смысле этого слова — по названиям релиза и треков нетрудно заметить, что он являет собой художественную рефлексию над работами теоретиков Франкфуртского Института социальных исследований, а по стилистике — что построен на «эстетике безобразного» Теодора Адорно.
Конечно, горячо любимый мною Г.А. Завалько, автор книги «Философские проблемы эстетики» наверняка бы такое не одобрил, но тут уж ничего не попишешь: неклассическому времени — неклассическое искусство.
В конце концов, альбом слушать действительно интересно, и если экстрим-вокал и зубодробительные гитары вам по душе, то нажимать вот сюда.
#культура
Агенты Гипохтона — Некоронованный Король (2025)
Мы пришли из глубин Outsideness, чтобы раздавить клопа в великой пустоте. Мы пролетариат титанических подземелий, огонь из глубин, копатели незримых окопов, тройные агенты невиданного и неслышанного!
Мы собрались, чтобы уничтожить контроль и низвергнуть его агентов в бездну забвения!
ПОЖАЛУЙСТА ПОСЛУШАЙТЕ ЭТОТ АЛЬБОМ ЕСЛИ ВАМ НЕОБХОДИМО ВПЕЧАТЛЕНИЕ НОМЕР ОДИН!
https://agentsofhypochton.bandcamp.com/album/-
Георгий - вокал, шумы, флейта, казу, ТРУБА!
Константин - гитара, казу, вокал, бэк-вокал, перкуссия, ТРУБА!
Тимур - барабаны, вокал, гитара, перкуссия, шумы, ВЕДРА!
#sludge#stoner#noise#avantgarde#spoken_word#raw_energy#agents_of_hypohton
С большим удовольствием представляем новый релиз:
[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