【正则表达式】python 中的re模块及正斜杠/ 反斜杠

第一:转义字符:

改变原有字符的意义,一般都以反斜杠\作为起始。

\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
                  ['\\', '\\', '\\']

实际上就匹配了三个\,因为匹配的是列表形式,如果把列表转换成字符串,那么打印的是三个\而不是三个\\

猜你喜欢

转载自blog.csdn.net/Jesszen/article/details/80945755