我有一个包含以下内容的文件:
SomeText `SomeOtherText`
和
SomeOtherTextAgain:
* Text1
我正在尝试替换` and *
字符,以便我的输出为:
SomeText \\text{ SomeOtherText }
和
SomeOtherTextAgain:
\\begin{itemize}
\item Text1
\\end{itemize}
类似于:
* mystring \n
变为\\begin{itemize} \n \item mystring \n \\end{itemize}
mystring
变为\\texttt{mystring }
我尝试使用python提供的正则表达式库中的替换选项来执行此操作,但我不知道如何在替换之间保存文本。例如,我使用以下内容替换星号:
re.sub('\*.*','\\\\begin{itemize} \n \\item \n \\\\end{itemize}',mystring)
但是,我丢失了.*
捕获的文字。
我正在尝试用正则表达式做什么,或者我应该找出一个不同的解决方案?
谢谢!
答案 0 :(得分:2)
当然可以使用正则表达式,将要保留的文本放在括号中,然后在“\ 1”的repl字符串中引用它(对于第一个,\ 2表示第二个等):
import re
mystring = '* Text1'
print re.sub(r'\* (.*)',r'\\begin{itemize} \n\\item \1 \n\\end{itemize}',mystring)
输出:
\begin{itemize}
\item Text1
\end{itemize}