[Tutor] regular expressions - backslashes
Justin Ezequiel
justin.mailinglists at gmail.com
Fri Apr 7 02:40:32 CEST 2006
Kent wrote:
"""The problem is that the re engine itself is interpreting the backslashes
in the replacement pattern.
With a single slash you get a newline even though the slash is a literal
in the replacement string:
So if you want a literal \ in your replacement text you have to escape
the \, even in a raw string:
"""
Thanks.
will try to convince my colleague to use string formatting
if he insists on regexp then he can do
re.sub(r'(?i)<apppath>', apppath.replace('\\', '\\\\'), template)
re.escape does not quite work for my example
>>> re.sub(r'(?i)<apppath>', re.escape(apppath), template)
'C\\:\\napp\\_and\\_author\\_query\\napp\\_and\\_author\\_query\\a\\
b\\ c\\ d\\files'
>>> print re.sub(r'(?i)<apppath>', re.escape(apppath), template)
C\:\napp\_and\_author\_query\napp\_and\_author\_query\a\ b\ c\ d\files
More information about the Tutor
mailing list