Функция 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
❗️Пожалуй это даже интересно... Интересно как пояснит этот свой ход KASE....
Инвестиционные компании, работающие на рынке Казахстана сообщают, что получили письма от АО "Казахстанская фондовая биржа" (KASE) касательно необходимости сегрегации (принудительного разделения) счетов граждан Российской Федерации и Республики Беларусь на уровне АО "Центральный депозитарий ценных бумаг", а именно по ценным бумагам, номинированным в валюте, отличной от тенге, и по инструментам, расчеты по которым проходят через международные расчетные депозитарии Euroclear и Clearstream.
Ориентировочно сегрегация начнется после 1 мая 2023 года. После этой даты возможны будут задержки в расчетах по сделкам, совершенным на KASE, что может привести к ситуациям дефолта и штрафным санкциям со стороны биржи, сообщает АО "Halyk Finance"
Для минимизации рисков дефолта по сделкам на KASE с 27 апреля 2023 года "Halyk Financ"e планирует закрыть доступ гражданам России и Беларуси к сектору KASE Global и иным инструментам на KASE, номинированным в иностранных валютах, расчеты по которым проходят в международных расчетных депозитариях Euroclear и Clearstream. Просим учитывать данную информацию при планировании сделок.
#KASE
#сделки
🇰🇿🇷🇺 Российское АО «Райффайзенбанк» стало стал номинальным держателем второго о величине пакета акций в капитале Казахстанской фондовой биржи (KASE), следует из информации на сайте биржи. В его номинальном владении российского банка сейчас 13,1% или 140,8 тысяч акций.
Таким же пакетом акций до 11 октября 2024 года владела ПАО «Московская биржа» (MOEX). В июне 2024 года в отношении «Московской биржи», а также входящих в ее группу Национального клирингового центра (НКЦ) и Национального расчетного депозитария (НРД) были введены санкции США. После введения санкций «Московская биржа» вышла из числа акционеров KASE. С 30 сентября 2024 года представитель MOEX – Владимир Крекотень вышел из состава Совета директоров KASE на основании его заявления о досрочном прекращении полномочий.
После «Московской биржи», владельцами пакета ее акций KASE стали два российских закрытых паевых инвестиционных фонда: «Нигелла» и «Левкой», находящиеся под управлением УК «Тетис Кэпитал» и «Баланс Эссет Менеджмент». Сейчас эти фонды в составе акционеров KASE отсутствуют.
Самый большой пакет акций (46,99%) Казахстанской фондовой биржи принадлежит Национальному Банку Республики Казахстан.
#KASE#MOEX
Подписывайтесь на Sanctions Lists
🇰🇿🇷🇺Казахстанская фондовая биржа (KASE) заявила о выходе из числа ее акционеров ПАО «Московская биржа» (MOEX). В июне в отношении «Московской биржи», а также входящих в ее группу Национального клирингового центра (НКЦ) и Национального расчетного депозитария (НРД) были введены санкции США.
После выхода «Московской биржи», крупнейшим акционером KASE является Национальный Банк Республики Казахстан с долей 47,0%.
Кроме того, KASE сообщила о прекращении взаимоотношений с MOEX, которые основывались на Соглашении, подписанном биржами 10 октября 2018 года. С 30 сентября 2024 года представитель MOEX – Владимир Крекотень вышел из состава Совета директоров KASE на основании его заявления о досрочном прекращении полномочий.
#KASE#MOEX
Подписывайтесь на Sanctions Lists