Функция 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
‼️Lo que debes saber: Los 4 puntos clave de la FGR sobre la solicitud de extradición del gobernador #RochaMoya
🔴La Fiscalía General de la República (@FGRMexico) ha fijado su postura respecto a las recientes solicitudes de las autoridades estadounidenses.
Aquí te resumimos los puntos esenciales:
1️⃣ Investigación en curso: La FGR iniciará una investigación propia para determinar si la acusación de EE. UU. tiene el sustento legal necesario para solicitar órdenes de aprehensión en México.
2️⃣ Bajo la ley mexicana: Para que un juez emita una orden de captura, es indispensable presentar datos de prueba que infieran la comisión de un delito, tal como lo marca nuestra legislación.
3️⃣ Soberanía y Tratados: El Tratado Bilateral es claro: la extradición solo procede si las pruebas son suficientes bajo las leyes mexicanas. Por ahora, la solicitud no cuenta con evidencias contundentes que respalden los hechos narrados.
4️⃣ Confidencialidad vulnerada: EE. UU. solicitó mantener la información bajo reserva para no afectar el debido proceso; sin embargo, los datos se hicieron públicos, contraviniendo las normas procesales y la naturaleza confidencial del caso.
La legalidad y el debido proceso son la base de nuestra justicia. 🇲🇽
La presidenta #Sheinbaum hizo lo correcto ante la presión de EEUU‼️
Dicho sin rodeos: no está defendiendo a #RochaMoya, está defendiendo el margen de maniobra del Estado mexicano.
Y, de paso, marcándole límites a Washington. Porque en política internacional, la soberanía no se declama: se ejerce… o se pierde.
Por: Erick Gutiérrez
¿Plan de #Trump? 🤔
🔴 Especialistas señalan que las acusaciones contra #RochaMoya formarían parte de una estrategia de presión política 📄👀 | ¿Qué opinas? 👇🏻
https://sinlineamx.com/acusaciones-ruben-rocha-generar-presion-mexico/
¡Vuelve a sonreír! 😒
🔴#MaruCampos se envalentonó en medio de la polémica y pidió ver "quién es quién" ante las acusaciones contra #RochaMoya📹 | ¿Qué opinas? 👇🏻
https://sinlineamx.com/maru-campos-justifica-ausencia-senado-caso-rocha/
🚨 ¡ÚLTIMA HORA! 🚨
‼️El Departamento de Justicia por fin revela las pruebas definitivas contra Rocha Moya y Morena.
Inteligencia de altísimo nivel, sellada por la CIA y firmada por el agente infiltrado "Donaldo Trumpetas".
Evidencia 100% real, no fake. 🌮🔍😅
#Sinaloa#RochaMoya
#ÚltimaHora⏰
🔴 A través de redes sociales, #RochaMoya señaló que las acusaciones de #EU "carecen de veracidad y fundamento alguno" 📁
👉🏻 Añadió que los señalamientos en su contra constituyen una violación al artículo 40 de la Constitución, que protege la soberanía nacional 🇲🇽
Con 🍐 y 🍎
🔴 Ante la desinformación y mentiras difundidas por el prianismo, #LuisaAlcalde explicó los detalles técnicos de la solicitud de #EU sobre #RochaMoya👩🏻☝🏻
https://revistaelpolitico.com/nacional/alcalde-aclara-proceso-extradicion-caso-rocha-moya/
¿Cómo hacer que todo se trate de mí? 🙄
🔴#XóchitlGálvez celebró "tener razón" y exigió a #Sheinbaum que separe a #RochaMoya de su cargo para que lo investiguen 🔍 | ¿Qué opinas? 🤔
🚨#ÚltimaHora🚨
🔴 De acuerdo con el Departamento de Justicia de EU, #RochaMoya, junto con otros funcionarios, habría conspirado con líderes del #CartelDeSinaloa para traficar narcóticos a la frontera norte 🇺🇸
👉🏻 De ser encontrado culpable, el gobernador de Sinaloa podría enfrentar cadena perpetua, o pena mínima obligatoria de 40 años de prisión ⛓️
¿Lo de #RochaMoya es político? 🤔
🔴 La zar antidrogas de #EU reconoció en #FoxNews las acciones del gobierno de #Sheinbaum para combatir el narcotráfico 📺🇲🇽👏🏻
https://sinlineamx.com/eu-reconoce-eficiencia-gobierno-sheinbaum-combate-narco/
¿Operador encubierto o embajador? 🤔
🔴#RonaldJohnson tomó actitudes injerencistas sobre #México, al no informar sobre los agentes de la #CIA en #Chihuahua y celebrar el caso #RochaMoya😡👇🏻💥
#RonaldJohnson#EmbajadorRonaldJohnson#EmbajadaEU#RochaMoya#CIA