Я просто писал программу, в которой я хотел вставить новый линий после определенного шаблона. Идея заключалась в том, чтобы соответствовать шаблону и заменить общим соответствием (то есть группа захвата \ 0 ) и \ n .
Код: Выделить всё
s = "abc"
insert_newline_pattern = re.compile(r"b")
re.sub(insert_newline_pattern, r"\0\n", s)
Однако вывод - \ x00 \ nc , чтение \ 0 как нулевой символ.
Я знаю что я могу «просто» переписать это как: < /p>
Код: Выделить всё
s = "abc"
insert_newline_pattern = re.compile(r"(b)")
re.sub(insert_newline_pattern, r"\1\n", s)
, который выводит желаемый ab \ nc с идеей завершения общего соответствия в группу \ 1 и заменить это. См. Также демонстрация Python Regex101.>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... rall-match