我正在尝试-]\^$*.使用单个反斜杠对每个字符进行转义\。
-]\^$*.
\
例如,字符串:^stack.*/overflo\w$arr=1将变为:
^stack.*/overflo\w$arr=1
\^stack\.\*/overflo\\w\$arr=1
在Python中最有效的方法是什么?
re.escape 双逃脱,这不是我想要的:
re.escape
'\\^stack\\.\\*\\/overflow\\$arr\\=1'
我需要这个来逃避其他事情(nginx)。
这是一种实现方法(在Python 3.x中):
escaped = a_string.translate(str.maketrans({"-": r"\-", "]": r"\]", "\\": r"\\", "^": r"\^", "$": r"\$", "*": r"\*", ".": r"\."}))
作为参考,转义要在正则表达式中使用的字符串:
import re escaped = re.escape(a_string)