首页 > 解决方案 > 对于原始字符串,那个“r”什么时候没有影响

问题描述

我写了一些简单的测试代码来做实验。

#begin code Python 2.7.12 running in Windows command window
import re
s2='''corn grows
higher\n
 still.
'''

print (s2)
print (re.sub('\n', '~', s2),"test a")
print (re.sub(r'\n', '~', s2),"test ar")
print (re.sub('\s', '~', s2),"test b")
print (re.sub(r'\s', '~', s2),"test br")

##开始输出到屏幕:####################

corn grows
higher

 still.

('玉米长得~更高~~仍然.~','测试a') ('玉米长得~更高~~仍然.~','测试ar') ('玉米~长得~更高~~~仍然.~' , 'test b') ('corn~grows~higher~~~still.~', 'test br')

  1. 为什么原始字符串的“r”对此代码没有影响?

  2. 即使有特殊字符,那个“r”什么时候没有区别?

真的是以前讨论过的话题吗?来吧。我看了看。|

标签: pythonraw

解决方案


python 文档中,该re模块将任何带有单斜杠和双斜杠的转义序列视为相同。换句话说'\\n', and'\n'在字符串中被视为相同,以及'\\s'and '\s''\\r'and'\r'等。


推荐阅读