小编典典

如何用单反斜杠转义字符串的特殊字符

python

我正在尝试-]\^$*.使用单个反斜杠对每个字符进行转义\

例如,字符串:^stack.*/overflo\w$arr=1将变为:

\^stack\.\*/overflo\\w\$arr=1

在Python中最有效的方法是什么?

re.escape 双逃脱,这不是我想要的:

'\\^stack\\.\\*\\/overflow\\$arr\\=1'

我需要这个来逃避其他事情(nginx)。


阅读 208

收藏
2021-01-20

共1个答案

小编典典

这是一种实现方法(在Python 3.x中):

escaped = a_string.translate(str.maketrans({"-":  r"\-",
                                          "]":  r"\]",
                                          "\\": r"\\",
                                          "^":  r"\^",
                                          "$":  r"\$",
                                          "*":  r"\*",
                                          ".":  r"\."}))

作为参考,转义要在正则表达式中使用的字符串:

import re
escaped = re.escape(a_string)
2021-01-20