Функция 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
Delever и Yaponamama.uz
С энтузиазмом объявляем о запуске стратегического партнёрства между Delever и Yaponamama.uz. Это партнерство представляет собой важный шаг в расширении нашего портфеля и усилении присутствия на рынке Узбекистана.
Yaponamama.uz, известный своим качественным сервисом и изысканным меню японской кухни, выбрал Delever в качестве партнера для оптимизации и автоматизации своих процессов доставки. Мы будем поддерживать Yaponamama.uz с помощью нашей передовой технологии и опыта в управлении заказами, что позволит им улучшить качество обслуживания и увеличить объемы продаж.
Мы гордимся тем, что Yaponamama.uz доверяет нам укрепление своей операционной деятельности и с нетерпением ждем результатов нашего совместного сотрудничества. Следите за обновлениями, ведь впереди нас ждут захватывающие проекты и инициативы!
#partnership#innovation#fooddelivery#Delever#Yaponamama
🚀 Отличные новости из Узбекистана и Казахстана!
Привет, друзья! Давно не делился апдейтами — всё потому, что Delever растёт быстрее, чем я успеваю писать.
Мы уверенно укрепляем позиции в регионе:
👉 Уже 500+ ресторанов доверяют нам в Узбекистане
👉 В Казахстане — 300+ подключённых заведений!
📈 Плотность сети растёт, открываются новые города и каналы. И что особенно вдохновляет — с нами теперь работают флагманы индустрии:
✨ABR Group — более 15 ресторанных концепций, 13 лет на рынке, 50 заведений и 7+ млн гостей в год.
✨San Group — холдинг Александра Орлова, динамично развивающийся в Узбекистане и Казахстане. Среди брендов: Mannana, Cucucina, Nika, TKX.
✨Doner na Satpayeva — наш партнёр, с которым мы вместе выросли с 11 до 17 филиалов. Настоящий кейс масштабирования!
✨Black Star Burger — премиум-вкус по доступной цене, авторская рецептура и крутая культура.
✨ Cheeseria — тёплая Италия в центре города. Изысканный вкус и гостеприимство.
💡 Это только часть — и мы продолжаем двигаться дальше. Впереди много работы, новых стран, партнёров и технологий.
Благодарю всех наших клиентов, партнёров, команду и друзей — без вас этот рост был бы невозможен ❤️
Если вы ресторатор, интегратор или просто верите в умные решения — давайте объединяться.
📬 Готов пообщаться, рассказать больше, найти точки роста.
#Delever#FoodTech#HoReCa#Kazakhstan#Uzbekistan#рост#автоматизация#доставка#CRM#QSR#DigitalTransformation