我试图用另一种模式替换正则表达式。更具体地说,我想将$$ some_latex $$
替换为$latex some_latex$
。我试过跟随。
In [22]: re.sub(r'\$\$(?P<pat>.+?)\$\$', r'$latex \1 $', "$$ x = \frac{2}{3}$$", re.DOTALL | re.U)
Out[22]: '$latex x = \x0crac{2}{3} $'
单词\frac
将转换为\x0crac
。如何克服这一点。我也尝试过跟随。它没有帮助。
re.sub(r'\$\$(?P<pat>.+?)\$\$', r'$latex \1 $', "$$ x = \frac{2{3}$$".encode("string_escape"), re.DOTALL | re.U)
'$latex x = \\x0crac{2}{3} $'
答案 0 :(得分:1)
这与正则表达式无关; \f
是表单提要转义码:
>>> '\f'
'\x0c'
>>> len('\f')
1
在您的输入中已经存在 ,然后才能进行替换:
>>> "$$ x = \frac{2}{3}$$"
'$$ x = \x0crac{2}{3}$$'
将斜杠加倍或使用原始字符串文字:
>>> '\\f'
'\\f'
>>> r'\f'
'\\f'
>>> print '\\f'
\f
>>> len('\\f')
2