Функция 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
Какой наряд вам нравится?
Слева: Шейха Моза в наряде от Ульяны Сергеенко.
Справа: Шейха Хинд (Sheikha Hind bint Hamad Al Thani) в чапане работы ташкентского ателье Мадины Касымбаевой.
Источник фото: ТГ канал darsic.com
#goingout
Этномода по-королевски 👸👑
Принцесса Беатрис с мужем Эдоардо Мапелли Моцци выбрала для ужина в ресторане The Twenty Two в Мэйфэре вот такое "этничное" платье.
Дочь принца Эндрю и Сары Фергюсон в платье Chloe и туфлях Chanel - настоящий амбассадор "этномоды"☺️
#goingout
Сегодня международный день платка и хиджаба 🧕👰
А с нами сегодня прекрасная женщина-
модель Равда Мохамед, которая в 2021 году была представлена как редактор журнала Vogue Скандинавия.
Сомалийско-норвежская модель Равда Мохамед прославилась как вдохновительница флешмоба против запрета хиджаба во Франции.
На Западе Мохамед должна была стать первой мусульманкой в хиджабе, возглавляющей модный журнал, писал The Guardian.
"Я не считаю себя исправлением чего-либо. Если я смогу помочь развитию отрасли, это будет прекрасный вклад", - сказала модель.
Равда родилась в Сомали, а в возрасте 8 лет переехала в Норвегию со своей семьей.
Став моделью, она участвовала в неделях моды в Осло, Париже и Копенгагене, снималась для Vogue США и V-Magazine.
#goingout
Когда и если будете смотреть новый сезон And Just Like That, обратите внимание на полосатый кафтан Кэрри Брэдшоу.
На съемки его прислали из Марракеша, из ателье Marrakshi Life, бренда "медленной" моды, где все ткут вручную местные ремесленники.
Платье ткали специально для героини Сары-Джессики Паркер — видео, как это происходило, есть в карусели.
#goingout#кинокостюм
Как одеваются редакторы модного глянца?
Например, как новый директор редакционного контента британского Vogue Чиома Ннади
То есть #этномодно😊
#goingout
Стереотипы на предмет выхода в оперу отступают, если опера - это Metropolitan, а светский фотограф - автор аккаунта Last night at the MET.
Мы выбрали несколько образов с этно акцентом - непринужденные и не помпезные гости оперы, которые носят свои наряды с удовольствием 🤎
#opera#goingout
Наша любая рубрика #вдогонку произошедшему ещё вчера 🙋
День рождения Sarah Jessica Parker (25 марта)
заставил вспомнить этно шик от легендарной Кэрри Брэдшоу, и вот они - образы последнего сезона, подтверждающие, что этно тренд в моде продолжает набирать обороты!
#goingout
#ЭТНОМОДА ретро-понедельник + ЭТНОМОДА по-королевски 🤴
1 июня состоялась свадьба наследника иорданского престола, принца Хусейна ибн Абдаллы и его избранницы Раджве Аль Саиф. На церемонии присутствовало большое количество гостей, в том числе, главы разных государств и монаршие особы.
Мы бы хотели отметить невероятный наряд шейхи Мозы, которая славится своим превосходным вкусом в одежде. Шейха вышла в легком плаще из кутюрной коллекции Valentino 1989, посвященной творчеству австрийского архитектора Йозефа Хоффмана, известного своими функциональными и структурными предметами декора и мебели.
Photo: Reuters, Getty Images, Valentino
#шейхамоза#valentino#свадьбаиордания#goingout#etnomoda