Regex в python: возможно ли получить совпадение, замену и окончательную строку?

Для подстановки регулярных выражений вы можете сделать три вещи:

Шаблон матчаШаблон заменыОригинальная строка

Механизм регулярных выражений находит три вещи, которые меня интересуют:

ПодходящийстрокаЗаменастрокаКонечная обработанная строка

Когда используешьre.sub, последняя строка - это то, что возвращается. Но возможно ли получить доступ к двум другим вещам, совпадающей строке и замещающей строке?

Вот пример:

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

Соответствующая строка"original" и строка замены"not the original", Есть ли способ получить их? Я пишу сценарий для поиска и замены во многих файлах, и я хочу, чтобы он распечатывал то, что находит и заменял, без распечатки всей строки.

Ответы на вопрос(2)

Ваш ответ на вопрос