Regex em python: é possível obter a correspondência, a substituição e a sequência fina
Para fazer uma substituição de regex, há três coisas que você fornece:
O padrão de correspondênciaO padrão de substituiçãoA sequência originalHá três coisas que o mecanismo regex acha interessantes para mim:
O combinadocordA substituiçãocordA sequência final processadaQuando usarre.sub
, a sequência final é o que é retornado. Mas é possível acessar as outras duas coisas, a sequência correspondente e a sequência de substituição?
Aqui está um exemplo:
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
A sequência de correspondências é"original"
e a sequência de substituição é"not the original"
. Existe uma maneira de obtê-los? Estou escrevendo um script para pesquisar e substituir em muitos arquivos e quero que ele imprima o que está encontrando e substituindo, sem imprimir a linha inteira.