Для выполнения замены регулярных выражений есть три вещи, которые вы им даете:
- Шаблон соответствия
- Образец замены
- Исходная строка
Есть три вещи, которые обнаруживает двигатель регулярных выражений, который меня интересует:
- Соответствующая строка
- Строка замены
- Окончательная обработанная строка
При использовании 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"
. Есть ли способ получить их? Я пишу script для поиска и замены во многих файлах, и я хочу, чтобы он печатал его, что он находит и заменяет, не распечатывая всю строку.