Функция 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
🔴Se ha publicado el texto completo del discurso del ayatolá Jameneí en el reciente encuentro con un grupo de mujeres
🔰«A pesar de que entre hombre y #mujer existen diferencias físicas aparentes, desde el punto de vista de las capacidades intelectuales en ambos sexos existen talentos infinitos y no hay diferencia alguna entre ellos...»
🔗👉LEER EL TEXTO COMPLETO DEL DISCURSO
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
Por esta #mujer Telegram está por cambiar, ¿Será acaso esto un caso "Yoko Ono"?
Dudo que Durov se relacione con una mujer que no tenga una perspectiva similar a la de él, entonces, los #cambios que vendrán deben ser buenos...
¿O ustedes qué opinan?
💥Chubasquero Joma Galia para Mujer
Protégete del frío y la lluvia con estilo en tus actividades al aire libre. Apro
✅OFERTA: 16.45€
❌ Antes: 23.5€
💰Ahorras un 30%🔥
Diseño elegante en azul marino, resistente al agua y viento para mantenerte seca
👉 Hazte con el tuyo y disfruta de la temporada
#chubasquero#mujer#ofertas#descuentos#rebajas
🛰️Oferta publicada en Deporte y Outdoor
Regalos para #Ella Nuestras recomendaciones de regalos para #Chica#Mujer
https://www.milideaspararegalar.es/regalos-para-ella
💻www.milideaspararegalar.es
Regalos para #Ella Nuestras recomendaciones de regalos para #Chica#Mujer
https://www.milideaspararegalar.es/regalos-para-ella
💻www.milideaspararegalar.es
Regalos para #Ella Nuestras recomendaciones de regalos para #Chica#Mujer
https://www.milideaspararegalar.es/regalos-para-ella
💻www.milideaspararegalar.es
💥Leggings Nike Mujer, color Negro y Blanco, Talla L
Brilla esta Navidad con estilo y comodidad
✅OFERTA: 22.49€
❌ Antes: 54.99€
💰Ahorras un 59%🔥
Diseño moderno para realzar tu figura y tejido transpirable para mayor confort
👉 Hazte con ellos y deslumbra en tus entrenamientos
#nike#leggings#mujer#ofertas#deporte#navidad
🛰️Oferta publicada en Deporte y Outdoor
El #feminismo justifica su propia existencia a través de dos mitos, capciosos y confusos, que utiliza con fines políticos: por un lado el mito del #patriarcado como institución opresora sobre la #mujer, y por otro el del #género como constructo social impuesto por el patriarcado. Esta definición de género como constructo social desestima la importancia de los procesos biológicos inherentes a cada #sexo en las pautas de comportamiento y roles sociales que históricamente han asumido tanto mujeres como hombres. Además, el feminismo afirma que patriarcado y género son instituciones culturales creadas, organizadas, sostenidas y dirigidas por varones para asegurar unos supuestos privilegios de éstos y para someter a las mujeres, víctimas de esas instituciones opresoras https://www.larazoncomunista.com/post/13-1-patriarcado-y-g%C3%A9nero-mitos-fundacionales-del-feminismo
💥Sostén Playtex Classic Micro Support
Respaldo y comodidad para tu día a día
✅OFERTA: 18.25€
❌ Antes: 38.45€
💰Ahorras un 53%🔥
Sujeción perfecta con soporte adicional y diseño elegante
👉 Renueva tu comodidad ahora
#playtex#sujetador#mujer#ofertas#descuentos#moda#rebajas#invierno
🛰️Oferta publicada en Moda y Belleza
Ideas para regalar a tu novia o esposa #ParaElla#Novia#Esposa#Mujer#RegalosParaElla
https://www.milideaspararegalar.es/ideas-para-regalar/ideas-para-regalar-a-tu-novia-o-esposa/
💻www.milideaspararegalar.es
💥Gorra de running HeyCaps para mujer
Protección UV y estilo para tus entrenamientos
✅OFERTA: 9.99€
❌ Antes: 12.99€
💰Ahorras un 23%🔥
Mantente protegida del sol mientras corres con comodidad y estilo
👉 Corre con estilo y protección este invierno
#gorra#running#proteccionuv#deporte#verano#rebajas#outdoor#mujer
🛰️Oferta publicada en Deporte y Outdoor