Вы можете использовать необработанные строки, чтобы значительно уменьшить умственную нагрузку при работе с побегами (особенно при работе с побегами как на уровне строк, так и на уровне регулярных выражений). Давайте определим b
как необработанную строку (обратите внимание на r''
):
b = r'\newpage\begin{thebibliography}{99}\bibitem{b0} J.Dunietz, J.Hauser\end{thebibliography}'
Давайте посмотрим, что мы имеем в строке:
>>> b
'\\newpage\\begin{thebibliography}{99}\\bibitem{b0} J.Dunietz, J.Hauser\\end{thebibliography}'
>>> print(b)
\newpage\begin{thebibliography}{99}\bibitem{b0} J.Dunietz, J.Hauser\end{thebibliography}
Кажется, что строки необработанные чтобы избежать обратной косой черты правильно. Теперь мы можем просто re.sub
шаблон с пустой строкой. Опять же, мы будем использовать необработанную строку для определения шаблона для упрощения экранирования:
>>> result = re.sub(r'\\begin\{thebibliography\}.*?\\end\{thebibliography\}', '', b)
>>> result
'\\newpage'
>>> print(result)
\newpage