Regex en python: ¿es posible obtener la coincidencia, el reemplazo y la cadena final?
Para hacer una sustitución de expresiones regulares, hay tres cosas que le das:
El patrón de coincidencia El patrón de reemplazo La cadena originalHay tres cosas que el motor de expresiones regulares encuentra que son de mi interés:
The emparejadocuerdEl reemplazocuerd La cadena procesada finalCuando usasre.sub
, la cadena final es lo que se devuelve. ¿Pero es posible acceder a las otras dos cosas, la cadena coincidente y la cadena de reemplazo?
Aquí hay un ejemplo:
orig = "This is the original string."
matchpat = "(orig.*?l)"
replacepat = "not the \\1"
final = re.sub(matchpat, replacepat, orig)
print(final)
# This is the not the original string
La cadena de coincidencia es"original"
y la cadena de reemplazo es"not the original"
. ¿Hay alguna manera de conseguirlos? Estoy escribiendo un script para buscar y reemplazar en muchos archivos, y quiero que imprima lo que está encontrando y reemplazando, sin imprimir toda la línea.