标签: python regex
我想确保repl的{{1}}参数被转义,以便不会解释像re.sub这样的特殊序列:
repl
re.sub
\1
是否有可以执行此操作的功能?我知道re.escape存在,是否应该使用?
re.escape
答案 0 :(得分:4)
请勿将>>> repl = r'\1' >>> re.sub('(X)', repl, 'X') 'X' >>> re.sub('(X)', desired_escape_function(repl), 'X') '\\1' 用于此目的。 re.escape旨在用于re.escape参数,而不是pattern参数。
>>> repl = r'\1' >>> re.sub('(X)', repl, 'X') 'X' >>> re.sub('(X)', desired_escape_function(repl), 'X') '\\1'
pattern
相反,请关注the advice of Python's documentation,然后手动用两个反斜杠替换所有反斜杠: