Python:为什么原始字符串需要反斜杠才能被转义?

时间:2016-01-15 22:04:16

标签: python regex string

这个解释来自python文档:

  

字符串和字节文字都可以选择以字母“r”或“R”为前缀;这样的字符串称为原始字符串,并将反斜杠视为文字字符。因此,在字符串文字中,未对特殊处理原始字符串中的'\ U'和'\ u'转义。鉴于Python 2.x的原始unicode文字行为与Python 3.x不同,不支持'ur'语法。

如果原始字符串将反斜杠视为字面文字,为什么反斜杠需要在表达式中进行转义:

re.compile(r"'\\'")

而不仅仅是能够写:

re.compile(r"'\'")

使用re模块时捕获单个反斜杠?

1 个答案:

答案 0 :(得分:2)

因为'\'在re中具有特殊含义,它意味着以您用来定义re的语言转义后面的字符,所以如果你想将'+'作为一个字符匹配你的re将是{{ 1}}