目录
- 1 python的转义
- 2 正则表达式的转义
-
- 2.1 python本身不转义的符号
- 2.2 python本身转义的符号
- 3 原生字符串
- 4 总结
- 参考文献
1 python的转义
#例子1 print('hellonworld') #输出如下,两个单词间将存在换行符 #hello #world
#例子2 print('',"') #输出结果为 ',"
#例子3 print('\') #输出结果为
在行尾 | 续行符 |
|反斜杠符号 | |
’ | 单引号 |
" | 双引号 |
a | 响铃 |
b | 退格(Backspace) |
00 | 空 |
n | 换行 |
v | 纵向制表符 |
t | 横向制表符 |
r | 回车 |
f | 换页 |
yy | 八进制数,yy代表的是字符,例如12代表的是换行,其中0是数字0 |
xyy | 十六进制数,yy代表的是字符,例如x0a代表的是换行 |
other | 其他字符以普通格式输出 |
2 正则表达式的转义
python字符串 ====》 正则匹配模式 ====》 匹配目标字符串
‘d+\d+’ ====》 ‘d+**d+’ ====》 ‘2**16’
‘d+**d+’ ====》 ‘d+**d+’ ====》 ‘2**16’
‘\\’ ====》 ‘\’ ====》 ‘gggggg’
2.1 python本身不转义的符号
import re print(re.findall('d+**d+','2**16')) #输出 ['2**16'] print(re.findall('\d+\*\*\d+','2**16')) #输出 ['2**16'],与上进行对比。 print(re.findall('-?d+.?d*','12 -36 -28.2 1.34')) #输出 ['12 ', '-36 ', '-28.2', '1.34']
2.2 python本身转义的符号
import re print(re.findall('\\','qqqgqqq')) #输出['\'],输出结果的第一个符号表示的是转义,其实是匹配到一个反斜杠 print(re.findall('\\','qqq\gqqq')) #输出['\'],\被python解析为一个反斜杠,所以没有匹配到。 print(re.findall('\\','qqqagqqq')) #输出[],a被python解析为响铃符号,不是反斜杠,所以没有匹配到。
print(re.findall('bisb',"This is a test.")) #输出[],因为b先被转义成退格符,相当于该语句是匹配目标字符串中的退格符。 print(re.findall('\bis\b',"This is a test.")) #输出['is']
3 原生字符串
print(r'hellonworld') #输出 hellonworld print(r'',"') #输出 '," print(r'\') #输出 \
import re print(re.findall(r'\',r'qqqgqqq')) #输出['\'] print(re.findall(r'\',r'qqq\gqqq')) #输出['\', '\'] print(re.findall(r'\',r'qqqagqqq')) #输出['\'],因为a不再进行转义
print(re.findall(r'bisb',r"This is a test.")) #输出['is'] print(re.findall(r'\bis\b',r"This is a test.")) #输出[],相当于是匹配bisb。
4 总结
参考文献
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试