第一:转义字符:
改变原有字符的意义,一般都以反斜杠\作为起始。
\n 意思是换行,不再表示字母n。
第二:python中,反斜杠\本身就是个转义字符。
1、\\,第一个反斜杠表示转义,意思是第二反斜杠不再视为一个转义字符。
print('\\')
打印输出单独一个\。
2、加一个r【r是原始字符的简写:raw string】,就表示废掉python中\的转义能力。
print(r'\\')
打印输出两个\\反斜杠。
第三:python中re模块,本身又指定\为转义字符。
因为我们知道,在python看来\\字符,实际上只是一个\反斜杠。
1、加r
test_string='a\\kk\\\\cc'
print(test_string)
u=re.compile(r'\\\\')
z=u.findall(test_string)
print(z)
print(str(*z))
打印结果: a\kk\\cc
['\\\\']
\\
python对字符需要转义,但是我们看到z它是列表形式,所有输出了4个反斜杠;当我们把它转行成字符串,在打印就是\\了
2、不加r
import re
test_string='a\\kk\\\\cc'
print(test_string)
u=re.compile('\\\\')
z=u.findall(test_string)
print(z)
打印结果:a\kk\\cc
['\\', '\\', '\\']
实际上就匹配了三个\,因为匹配的是列表形式,如果把列表转换成字符串,那么打印的是三个\而不是三个\\