Функция 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
Beim bevorstehenden Treffen des Sprachklubs, das am 17. September um 19:00 Uhr stattfindet, werden die Teilnehmer über moderne russische Künstler erfahren. 👨🏻🎨 Viele Russischlernende kennen berühmte Maler, deren Werke in der Tretjakow-Galerie und anderen russischen Museen zu sehen sind.
🖼️ Diese Veranstaltung bietet die Gelegenheit, tiefer in die Welt der zeitgenössischen Kunst einzutauchen. Gemeinsam wird die neue Ausstellung „Public Art“ besucht. Im Anschluss daran besteht die Möglichkeit, Eindrücke auszutauschen und das Gesehene mit der Street-Art-Szene Berlins zu vergleichen. So entsteht ein spannender Dialog über aktuelle künstlerische Entwicklungen in Russland und deren Beziehung zur urbanen Kunst anderer Metropolen.
Seid nächste Woche dabei!
📲Anmeldung ist erforderlich.
#sprachklub#russisch#russischlernen#russischesprache#eventberlin
🎬 Die Fortsetzung der spannenden Geschichte von Natalie Puschkin! In den Folgen 3. und 4. der Serie „Natalie und Alexander“ werden neue Kapitel ihres Schicksals enthüllt.
📺Kommt heute, am 9. September, um 19:00 Uhr, und bereitet euch auf unerwartete Wendungen der Handlung vor!😍🎥
🍿Anmeldung
#kino#puschkin#drama#geschichte#eventberlin
📢 An alle Kunstbegeisterten: Die Kunst-Vorträge mit Asja Gimborg finden schon HEUTE und MORGEN statt!
🎟️Heute, am 26.09, um 19:00 Uhr:
Eine fesselnde Reise durch die russische Kunstgeschichte – von Ikonen bis Malewitsch.
🎟️Morgen, am 27.09, um 19:00 Uhr:
Die explosive Welt der russischen Avantgarde – Kunst als Revolution!
🗣️In russischer Sprache
Das ist die letzte Chance, sich Tickets zu sichern! Kommt mit Freunden vorbei und taucht gemeinsam einin die spannende Geschichte der russischen Kunst!
#vortrag#berlin#kunstgeschichte#russischekunst#eventberlin
Interessiert Ihr Euch für große Künstler, aber nicht für trockene Fakten aus Lehrbüchern, sondern für spannende Geschichten? Wollt Ihr wissen, wie Meisterwerke entstanden sind, warum Kunst ihre Zeitgenossen schockierte und was sie uns heute noch zu sagen hat?🤔
Besucht die bevorstehenden Vorträge von Asja Gimborg — einer Kunsthistorikerin mit unverwechselbarem Vortragsstil, Bestsellerautorin über Kunstgeschichte und Schöpferin populärer Bildungsprojekte!😍
🎤Am 26. September verwaltet der Vortrag die jahrhundertealte Geschichte der russischen Kunst in eine fesselnde geistige Reise durch die Jahrhunderte: vom goldenen Glanz der Ikonen des 13. Jahrhunderts bis zur radikalen Stille des „Schwarzen Quadrats“. Hier begegnen sich Andrej Rubljow und Kasimir Malewitsch, strenger Kanon und künstlerischer Aufruhr, spirituelle Bildwelten und revolutionäre Formen.
📲Weitere Informationen und Anmeldung
🎤Am 27. September entführt der Vortrag in die stürmische, vielstimmige und kühne Welt der russischen Avantgarde, ein Phänomen, in dem sich byzantinische Ikonenmalerei plötzlich in die Geometrie des Suprematismus verwandelt und die kulturellen Codes des alten Russland in den Werken der Futuristen neu erklingen. Es ist die Geschichte von Künstlern, die nicht nur die Kunst, sondern auch die Wirklichkeit selbst verändern wollten.
📲Weitere Informationen und Anmeldung
Verpasst nicht die Chance, diese spannenden und einzigartigen Veranstaltungen zu erleben!😉
💬 Die Vorträge finden in russischer Sprache statt.
#vortrag#eventberlin#kunst#russischekunst#malewitch#avangart#kunstgeschichte