Функция 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
С 8 МАРТА! Вы — украшение нашего коллектива 🤗
Дорогие женщины, милые, нежные, поздравляем вас с этим волшебным праздником весны, нежности, красоты и очарования! ✨
Желаем вам оставаться молодыми, чтобы ни одна морщинка не посмела приблизиться к вашим ангельским личикам!
Вы - украшение нашего коллектива!
Без ваших улыбок офис был бы серым, унылым и лишённым смысла.
Желаем вам простого женского счастья: любящего мужа, послушных деток, полных кастрюлек и чтобы борщ всегда удавался!
Оставайтесь в душе девочками! С бурными эмоциями, непредсказуемой женской логикой и детской непосредственностью! Будьте горячими, но никого не спалите!
А ещё мы подготовили вам корпоративный сюрприз: сейчас в холл зайдёт сварщик… не задавайте вопросов, просто идите в холл. И захватите одноразовые тарелки.
С 8 марта 🔥
***
С 8 марта. Не с «праздником весны и нежности», а с Международным женским днём, у которого за плечами больше ста лет борьбы за права, достоинство и равенство.
Желаю не «оставаться красивой», а чувствовать себя в безопасности. Не «простого женского счастья» - а свободы выбирать своё счастье самой, каким бы оно ни было. Не «украшать коллектив» - а получать честное признание за свою работу и компетентность.
Здоровья, справедливости, поддержки в ваших целях и людей вокруг, которые видят в вас человека, а не открытку.
С 8 марта 👍
#8m
“Ya deja el celular y vámonos a marchar Karen”
@GatitosVsDesig
@gatitos_qctd
#8Mpic.twitter.com/pTp3GvjxOB
https://twitter.com/alikaboe/status/1236835559294873600
С Международным женским днём! 💪🌷
сравнить ответы с прошлым годом: тут
больше про восьмое марта - тут
upd: а вот что мы делали с женой 2 года назад на 8 марта - пост
#8M | @andreyposnov
🐦CENPAT (@conicetcenpat)
____
RT @agencia_sinc: "Si las mujeres no entran en el mundo tecnológico, se verán abocadas a asumir una brecha digital, a lo que se suma una brecha salarial", dice la matemática y comunicadora del @_ICMAT Ágata Timón García-Longoria citando a @MartaMachoS | ANÁLISIS #8Mhttps://t.co/4f5J0JxtiWhttps://t.co/10TOLSZnzV
____
🔗http://twitter.com/CONICETCenpat/status/1104139892127383552
💚✊ Luego del debate por la legalización de la interrupción voluntaria del embarazo en Argentina en 2018 ¿cuál es la situación actual del aborto en las diferentes provincias? Para el especial del #8M Laura F. Bell y Andrés Snitcofsky armaron un mapa de adhesión al Protocolo de Aborto No Punible en la Argentina que podés consultar aquí 👉http://bit.ly/mapaile19
La igualdad de género en salud es esencial para poder brindar una atención equitativa para todas las personas 🏥 . Sin embargo, muchas veces esta dimensión es dejada de lado en las investigaciones, los proyectos y la atención en salud. En esta nota especial para el #8M, nuestra ecofeminita Laura F. Belli nos cuenta por qué analizar estas cuestiones en detalle sirva para mostrar la necesidad de promover cambios en el área para alcanzar un modelo más justo de atención sanitaria para todes 💚 .
Leela aquí 👉http://bit.ly/saludgenero
💜Hoy en el Día Internacional de la Mujer, a todas las panditas hermosaaaas que estamos aquí y las que ya no.
Conmemoramos y honramos a cada una de nosotras por nuestros logros y fortalezas, que en este camino somos una pieza ejemplar para todas y todos. 🪻
#8M#DíaInternacionaldelaMujer
#FUERZADEMUJER#SOBREVIVIENTE
#8M | Michelle, salió a marchar exhibiendo las cicatrices en su cuerpo, hechas por por su agresor, ella luchó contra la muerte y ganó la batalla, las cicatrices vísibles no se comparan a las cicatrices emocionales con las que lucha dia a dia.
Sus amigas la describen y le dan palabras de apoyo;
“Yo conozco a Michelle desde muy pequeña ,siempre una buena niña educada ,estudiosa que no merecía lo que le pasó ,más sin embargo te aferraste a la vida y luchaste por ella como toda una guerrera que eres ,te mereces toda mi admiración . Hoy en día tienes a tu lado a una hermosa princesa que has sabido sacar adelante ,además de tener una maravillosa voz ,que Dios te bendiga siempre al igual que a tu nena . Te mando un fuerte abrazo 💜💜💜.”
📸:SolDeTampico
Vía Antofalibre
Síguenos t.me/Epinforma🔁 comparte
🐦Agencia CTyS (UNLAM) (@ctys_unlam)
____
#8M La politóloga Eva Pavón Tolosa indicó que, si bien hoy el #Estado produce estadísticas sobre #femicidios, “estos datos no se traducen en políticas públicas concretas”. La perspectiva de género, una cuenta pendiente en los datos públicos ► https://t.co/RGDmeHtVMrhttps://t.co/6NqinfqNLc
____
🔗http://twitter.com/CTyS_UNLaM/status/1104050248945672192
Dos pañuelos. Uno morado y otro verde, son los tesoros más preciados que he traído desde mi reciente visita a #BuenosAires🇦🇷
La #MareaVerde nació allá, la ola por los derechos de las mujeres es una realidad en México y América Latina, y esos pañuelos son mucho más que un pedazo de tela. Nada más poderoso que una idea.
Los usé frente a la Casa Rosada y hoy, #8M, Día de la Mujer, los usamos #Tumbao y yo. Las luchas son compartidas en esta casa.
Que #NiUnaMas#NiUnaMenos sean pronto una realidad ante los feminicidios, que son una dolorosa pandemia.
🧑💻#PamelaQuibec💜💚
Día a día con 🎤@RTReporteros
🐦(X)Twitter
¡Los #PañuelosRojos vuelven a la calle!
Este 8 de marzo, otra vez #YoUsoPañueloRojo feminista y popular.
Colectivos feministas, proyectos, activistas de redes, asociaciones, organizaciones sociales, plataformas informativas, y las organizaciones políticas y de masas, se movilizan contra el patriarcado y la violencia de género en Cuba.
Te esperamos a las 5:00pm en el #AnfiteatroMarianao en un espacio de cuidados y sororidad feminista y Popular. Y a las 6.30pm en el mismo lugar tendremos un concierto de Obiní Batá.
Trae tu pañuelo rojo!!!
#8M#FeministayPopular
#AlCarajoElPatriarcado