Функция 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
Залипаю на #Sandro💔💔💔
Скидки по 50% и какое же все красивое 😭 прям захотелось опять в офис выйти, чтобы был повод закупиться платьями
Все, что на фотках -50% до 16000₽ (пишите для точной цены)
Кроссы - 11000₽ (-40%)
Есть такие-же в темной расцветке
Куртка черная - 22500₽ (-40%)
Есть бежевая
Куртка в узор просто афигенная из иск меха - 19000₽ (-50%)
Надо брать!!!
Ну и это пальто 😵🔫
- 77000₽ (-40%)
(Из овчины)
Кажется единственные, кто во все времена остаются не в восторге от тренда на школьную униформу, так это сами школьницы 😂 В мои 14 лет, когда мама прочла список обязательной одежды, нового учебного года - фурор был неописуемый. Я поняла какой это кайф одевать подростка во все эти миленькие рубашечки и юбочки, когда младшая сестра пошла в школу. Это как офисный лук, но все прикольнее. Помню мама предлагала мне тогда дополнить этот чудесный список, который мне не нравился ну совсем, пальтишком бёрбери, а я отказалась. Сказала, что это слишком для меня. Дурная что сказать….
Сейчас вообще замечаю, что у меня на 80% гардероб черно-белый. Может период и настроение такое, а может вьетнамские флешбеки дают о себе знать, кто знает.
Так или иначе, сейчас бы пальтишко с подкладкой из черно-бежевой клетки я бы конечно надела с превеликим удовольствием, как и кардиганчик #Sandro, например (ниже покидаю варианты из аутлетов). От лаковых чёрных галош я правда все ещё не фанатею, но это все видимо из-за высокого подъёма 🩰
Пока все неустанно напоминают про приближающийся самый маркетинговый праздник в году, я напомню, что грядет ещё целый месяц февральских морозов, во время которых 5 точку или хотя бы поясницу (бабка mood) нужно держать в тепле 🥶💙
#RalphLauren парка-конструктор (можно носить внутреннюю и внешнюю части вместе или по отдельности) - 28000₽ (-30%)
#Adidas by Stella McCartney - 36000₽
Ea7 #EmporioArmani - 27600₽ (-30%)
#Jacquemus - 49500₽ (-60%) 🔥
#Maje - 20000₽ (-40%)
#Sandro - 17800₽ (-50%)
#Burberry - 85200₽
#Bacon - 43500₽ (-40%)
#Jacquemus - 48700 (-55%)
Такое ни один байер со своими старомодными сумками в пузырчатый ромбик не покажет
Ещё раз посмотрите на сами вещи и финальную цену на этикетках.
Как говорит мой суженный «грех не купить»
Я серчила рынок и могу сказать точно - 80% байерских услуг в телеге выставляют самую верхнюю цену (просто потому что даже это дешевле чем в РФ ахаха)
А если вещь выглядит как из коллекции 10летней давности - девчонки, максимал 2 кэса ₽, отвечаю
Вас обманывают, если продают такую вещь дороже)
Может я сейчас весь байерский телеграмм рынок рушу, но просто знайте:
#Moschino, #MichaelKors, #Furla, #Pinko, #CalvinKlein, #Diesel, #Levi’s, #Coccinelle, #LIUJO, #Falconeri, #Blumarine, #ArmaniExchange, #Fabi, #VersaceJeans, #Sandro, #Twinset - это все на скидках продается по ооочень выгодным ценам.
Но надо знать где искать.
That’s why here I am 🙃
1. Я выставляю только то, что купила бы сама или посоветовала подругам
2. Пишу самую нижнюю стоимость с этикетки)
3. Оцените модель от 1 до 10))
#сравнитецену