python - Character encoding in regular-expression substitution -


i trying substitute regular expression pattern. more want replace $$ some_latex $$ $latex some_latex$. tried following.

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} $' 

the word \frac converted \x0crac. how overcome this. tried following also. didn't help.

re.sub(r'\$\$(?p<pat>.+?)\$\$', r'$latex \1 $', "$$ x = \frac{2{3}$$".encode("string_escape"), re.dotall | re.u) '$latex  x = \\x0crac{2}{3} $' 

this has nothing regular expression; \f form-feed escape code:

>>> '\f' '\x0c' >>> len('\f') 1 

the character already present in input, before replacements take place:

>>> "$$ x = \frac{2}{3}$$" '$$ x = \x0crac{2}{3}$$' 

double slash or use raw string literal:

>>> '\\f' '\\f' >>> r'\f' '\\f' >>> print '\\f' \f >>> len('\\f') 2 

Comments

Popular posts from this blog

php - regexp cyrillic filename not matches -

c# - OpenXML hanging while writing elements -

sql - Select Query has unexpected multiple records (MS Access) -