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 original

Há três coisas que o mecanismo regex acha interessantes para mim:

O combinadocordA substituiçãocordA sequência final processada

Quando 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.

questionAnswers(4)

yourAnswerToTheQuestion