解决方案是使用Python的常规字符串表示法 表达模式;反斜杠不以任何特殊方式处理 带有' r'前缀的字符串文字。所以r" \ n"是一个两个字符的字符串 包含' \'和' n',而" \ n"是一个单字符串 包含换行符。通常模式将用Python表示 使用此原始字符串表示法的代码。
类型也匹配; type(u"text") == type(ur"text")
,删除u
时同样如此。因此,我不得不问:这两者有什么区别?如果没有差异,为什么要使用r
?
答案 0 :(得分:3)
例如:
>>> len(ur"tex\t")
5
>>> len(u"tex\t")
4
如果没有r
,则\t
是一个字符(标签),因此字符串的长度为4。
如果要构建涉及r
的正则表达式,请使用\
。在非r
字符串中,你必须逃避这些并不好笑。
>>> len(u"\\")
1
>>> len(ur"\\")
2