Я пытаюсь подставить регулярное выражение другим шаблоном. В частности, я хочу заменить $$ 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} $'
Теперь, если я хочу изменить '\\ f' обратно на' \ f'? 'replace ('\\\\', '\\')' не работает. – Dilawar
@ Dilawar: интерпретатор дает вам * представление *; буква Python, так же, как вы его вводите. '\\' готов к экранированию, это * не * значение. Если вы используете 'print', вы увидите, что есть только один символ обратной косой черты. Вам ничего не нужно заменять. –