为什么在Python的正则表达式中使用“r”?

为什么在Python的正则表达式中使用“r”?,python,regex,Python,Regex,可能重复: 第1行中r的含义是什么?r在Python中指定一个原始字符串,它的规则与标准字符串不同,例如不必转义反斜杠和其他特殊字符。r在Python中指定一个原始字符串,它的规则与标准字符串不同,例如,您不必逃避反斜杠和其他特殊字符。来自: 解决方案是对正则表达式模式使用Python的原始字符串表示法;反斜杠不会以任何特殊方式在前缀为“r”的字符串文字中处理。因此,r\n是一个包含“\”和“n”的双字符字符串,而\n是一个包含换行符的单字符字符串。通常,模式将使用这种原始字符串表示法在Pyt

可能重复:

第1行中r的含义是什么?

r在Python中指定一个原始字符串,它的规则与标准字符串不同,例如不必转义反斜杠和其他特殊字符。

r在Python中指定一个原始字符串,它的规则与标准字符串不同,例如,您不必逃避反斜杠和其他特殊字符。

来自:

解决方案是对正则表达式模式使用Python的原始字符串表示法;反斜杠不会以任何特殊方式在前缀为“r”的字符串文字中处理。因此,r\n是一个包含“\”和“n”的双字符字符串,而\n是一个包含换行符的单字符字符串。通常,模式将使用这种原始字符串表示法在Python代码中表示

从:

解决方案是对正则表达式模式使用Python的原始字符串表示法;反斜杠不会以任何特殊方式在前缀为“r”的字符串文字中处理。因此,r\n是一个包含“\”和“n”的双字符字符串,而\n是一个包含换行符的单字符字符串。通常,模式将使用这种原始字符串表示法在Python代码中表示


在使用r时,为什么\w仍然被视为转义序列而不是文字。据我所知,在文档中,它并没有说\w被视为转义序列。事实上,它不是一个转义序列\w没有意义。您可以在此处查看此链接。此处提到了\wYes,r\w将匹配任何字母数字字符。使用r可以键入r\w而不是//w。r允许在字符串中包含Python转义序列,而无需转义\。我觉得我对你不太清楚。谢谢你。现在我以更好的方式理解了。当使用r时,为什么\w仍然被视为转义序列而不是文字。据我所知,在文档中,它没有说\w被视为转义序列。事实上,它不是一个转义序列\w没有意义。您可以在此处查看此链接。此处提到了\wYes,r\w将匹配任何字母数字字符。使用r可以键入r\w而不是//w。r允许在字符串中包含Python转义序列,而无需转义\。我觉得我对你不太清楚。谢谢你。现在我有了更好的理解。当使用r为什么\w仍然被视为转义序列而不是文字时?\w不是转义序列,它是指向re文档底部的特殊序列。当使用r为什么\w仍然被视为转义序列而不是文字时?\w不是转义序列,这是一个特殊的序列,位于re文档的底部。
p = re.compile(r'(\b\w+)\s+\1')

p.search('Paris in the the spring').group()