Python3在正则表达式中是否还需要原始字符串?

时间:2015-07-12 04:14:51

标签: python regex

在Python 2中,当处理正则表达式时我们使用r'expression',我们仍然需要在Python 3中预先添加“r”,因为我知道Python 3默认使用Unicode

2 个答案:

答案 0 :(得分:2)

是。反斜杠转义序列仍然存在于Python 3字符串中,因此以r为前缀的原始字符串会产生差异,如下例所示:

>>> s = 'hello\n'
>>> raw = r'hello\n'
>>> s
hello\n
>>> raw
hello\\n
>>> print(s)
hello

>>> print(raw)
hello\n

答案 1 :(得分:1)

原始字符串对于编写像\的字符仍然有用,而不会转义它们。这在正则表达式和窗口路径等中通常很有用。