Функция 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
Happening now at the Russian House Brussels: the official Russian language proficiency exam with the Pushkin Institute.
Good luck to all participants!
Прямо сейчас в Русском доме проходит государственный экзамен по русскому языку совместно с Институтом Пушкина.
Желаем удачи участникам!
#RussianHouseBrussels#РусскийДомБрюссель#RFL#TRKI#PushkinInstitute
📚Κρατική εξέταση πιστοποίησης στη Ρωσική ως Ξένη Γλώσσα (RKI) στην Αθήνα με τη συμμετοχή εμπειρογνωμόνων του Κρατικού Πανεπιστημίου Λομονόσοφ Μόσχας🇷🇺🎓
Στις 28–29 Ιουνίου στο Ρωσικό σπίτι στην Αθήνα (ΡΠΕΚ) πραγματοποιήθηκε η επίσημη κρατική εξέταση πιστοποίησης στη ρωσική ως ξένη γλώσσα (RΚΙ) με τη συμμετοχή εξεταστών του Κρατικού Πανεπιστημίου Μόσχας «Μ.Β. Λομονόσοφ» — ενός από τα κορυφαία επιστημονικά κέντρα στον τομέα της διδασκαλίας της ρωσικής ως ξένης (RΚΙ).
🔹 Οι εξετάσεις διεξήχθησαν για τα επίπεδα από A1 έως C2.
🔹 Συμμετείχαν μαθητές, φοιτητές, καθηγητές, μηχανικοί, στρατιωτικοί και εκπρόσωποι άλλων επαγγελμάτων.
🔹 Τα πιστοποιητικά αναγνωρίζονται στη Ρωσία, την Ελλάδα, τις χώρες της ΕΕ, τον Καναδά και τις ΗΠΑ.
Η εξέταση αυτή είναι ένα σημαντικό βήμα προς τη διεθνή αναγνώριση του επιπέδου γνώσης της ρωσικής γλώσσας, απαραίτητη για σπουδές, εργασία και υπηκοότητα.
🖼 Στις ημέρες των εξετάσεων στο ΡΚΠ παρουσιάστηκαν δύο εκθέσεις:
— «Η ζωή και η έμπνευση του Πούσκιν» από το Πανρωσικό Μουσείο Α.Σ. Πούσκιν
— «Η ρωσική αλφάβητος μέσα από τα σχέδια της Μαρίνα Χανκόβα» — ένα μοναδικό καλλιτεχνικό έργο στο ύφος του Ιβάν Μπιλίμπιν
📍 Στις 5 Ιουλίου στη Θεσσαλονίκη θα πραγματοποιηθεί το τελικό στάδιο της πιστοποίησης στη Ρωσική ως Ξένη Γλώσσα. Μείνετε συντονισμένοι και μην χάσετε την ευκαιρία!
👉 Διαβάστε περισσότερα στον σύνδεσμο: https://clck.ru/3Mstpg
📚Государственное тестирование по РКИ в Афинах с участием экспертов МГУ 🇷🇺🎓
28–29 июня в Русском доме в Афинах (РЦНК) прошло официальное государственное тестирование по русскому языку как иностранному (РКИ) с участием экзаменаторов МГУ имени М.В. Ломоносова — ведущего научного центра в области преподавания РКИ.
🔹 Экзамены проходили по уровням от А1 до С2.
🔹 Участники — школьники, студенты, преподаватели, инженеры, военные и представители других профессий.
🔹 Сертификаты признаются в России, Греции, странах ЕС, Канаде и США.
Этот экзамен — серьёзный шаг на пути к международному признанию уровня владения русским языком, необходимый для учёбы, работы и гражданства.
🖼 В дни тестирования в РЦНК прошли две выставки:
— «Жизнь и вдохновение Пушкина» от Всероссийского музея А.С. Пушкина
— «Русская азбука в рисунках Марины Ханковой» — уникальный художественный проект в стиле Ивана Билибина
📍 А уже 5 июля в Салониках состоится заключительный этап сертификационной аттестации по РКИ. Следите за новостями и не упустите шанс!
👉 Читайте подробнее по ссылке: https://clck.ru/3MstGS
@rossotrudnichestvo
#РусскийДомАфины#РКИ#TRKI#RussianLanguage#MSU#ΕξετάσειςΡωσικών#РЦНК#RussianAsForeignLanguage#Certification#CEFR#RFL#ИзучаемРусский#Pushkin#MarinaKhankova#Αθήνα#Thessaloniki#MoscowUniversity#РусскийЯзыкЗаРубежом