Функция 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
🔗Ready (Argent)🔗
🔲Ready отключили газ для работы в своей сети Starknet, т.е различные свапы, выводы с кошелька, подтверждение транзакций и т.д теперь бесплатны
🔲Единственный момент когда вам необходим этот газ, это когда вы первый раз открываете карту, там небольшую копеечку надо будет держать в токене STRK
🔲 Бесплатность не распространяется на пополнение кошелька в куче разных сетей через Bridge, это будет платно, там комиссию за это берет мост Layer Swap, но Ready покрывает их комиссию до 100 баксов в месяц и вряд-ли вам удастся выйти за этот предел
🔲 Напоминаю, что Ready это один из лучших некастодиальных кошельков с картой, с кешбеком в 3% и 10% в первый месяц, представители, которого есть у нас в чате. Если ещё не открыли то вот рефка, даёт 30% скидку на карту, рефка есть только у нас, больше нигде. Перейдя по рефке нужно будет вбить свою почту и промокод FintechAndBanking, и через несколько дней дадут доступ к открытию карты со скидкой
#Ready#Argent
🔖Если вам нужна консультация
🔖Все наши посты тут
🔖Если хотите вступить в наш чат
🔖Тут все полезные рефки
🔖Если вы хотите написать пост на канале
✨Cino✨
🔲В чате нашли простую, как палку замену Curve, особенно актуально если вам, как мне влупили КурваБан😂. Встречайте Cino
🔲На самом деле писать тут есть не много о чем, но данный финтех может быть крайне полезен если у вас банк/финтех в ЕЭЗ, который ещё не поддерживает Apple/Google Pay, например из недавнего это Ready(Argent)
🔲Cino это Эстонский финтех-стартап с офисами в Таллине и Лондоне, выпускают дебетовые виртуалки Master Card (буквально недавно делали Visa) с бином 532700 от британского EMI Checkout SAS. Финтех зарабатывает пока только на interchange + FX-markup. Идея финтеха - разделение трат
🔲Тут пока по функционалу ещё даже близко не Curve, но это бесплатно и вообще нет никакого KYC. Нужен только телефон ЕЭЗ или Великобритании, а также почта. Предполагаю, что это временно, когда наберут клиентскую базу то кусь влупят и цену назначат
🔲Смысл этого сервиса - разделение трат с кем-то. Т.е вы создаете группу с человеком в приложении Cino, у каждого оно должно быть установлено, оба подвязывают там свою карту и выбирают, с кого сколько процентов будет списываться, на одну группу создается виртуалка (при этом у каждого она будет своя) и оба могут добавить ее в свой Pay. Условно вы поехали с кем-то в отпуск, платит один, а платеж через Cino автоматом разбивается на двух и у каждого списывается по 50% с их подвязанной карты или по столько процентов сколько вы назначите И для нас это может быть удобно в случае если вам надо подвязать карту, которую нельзя добавить в Pay. Можно также создать с кем-то группу, например с женой/мужем выставить 100% списания с кого-то одного у кого будет карта без Apple/Google Pay, возьмем для примера карту Ready (Argent) и таким образом Ready можно везде будет использовать без пластика, и кешбек к слову при этом не теряется
🔲Или можно на одном устройстве сделать два аккаунта Cino с разными телефонами и почтами, просто по мере необходимости разлогиниваться из одного аккаунта в другой и смысл останется тем же. Добавлять можно и несколько человек, т.е группа может быть больше чем 2 человека и количество этих групп может быть тоже несколько
🔲Важно отметить, что лимит трат тут 3000 евро по виртуалке Cino, в приложении написано, что лимит можно увеличить, но как пока не ясно, видимо надо к этом лимиту приблизиться, чтобы можно было что-то сменить. Также отмечу, что оплаты пока тестировались только в евро, здесь OIF нет точно, но он может быть на других валютах, эта нам еще надо будет проверить
🔲К сожалению никакие карты СНГ сюда не добавить, карта Cino не будет поддерживать с2с переводы и никакие валюты списания, как в Curve тут назначить нельзя. Но это бесплатно, просто и удобно, запомните этот сервис, это реально удобный инструмент, если знать как и зачем им пользоваться
🔲Рефка - дают 5 евро за регистрацию
#Cino#Ready#Argent
Консультация | Вступить в чат | Наши посты | Все рефки