我理解反斜杠的概念及其在转义序列中的用法,但是
import re
print 'Test 1'
for i in re.findall("\n", "This\nis\na\ntest."):
print 'Newline'
print 'Test 2'
for i in re.findall(r"\n", "This\nis\na\ntest."):
print 'Newline'
在在线Python编译器中尝试代码here。
答案 0 :(得分:3)
在第一种情况下,您要求正则表达式引擎搜索换行符。 Python将\n
转换为换行符并将其传递给re.findall
。
在第二种情况下,您要求正则表达式引擎搜索\n
。 Python将\n
传递给re.findall
。正则表达式引擎知道\n
表示换行符。
所以你得到了同样的结果; \n
的取消仅仅发生在过程的不同阶段。