python中正则(.*?)的用法以及requests库的.text和.content的区别 (r.text和r.content的区别)

python中正则(.*?)的用法以及requests库的.text和.content的区别

1.(.*?)的用法

先看代码演示

import re
a="hello22222222world3333333world444444"

p1=re.findall("hello(.*?)world",a)

p2=re.findall("hello(.*)world",a)

p3=re.findall("hello.*world",a)

p4=re.findall("hello.*?world",a)

print('p1 = ',p1)
print('p2 = ',p2)
print('p3 = ',p3)
print('p4 = ',p4)

p1 =  ['22222222']
p2 =  ['22222222world3333333']
p3 =  ['hello22222222world3333333world']
p4 =  ['hello22222222world']
加问号与不加问号的区别

加问号:非贪婪匹配 即符合匹配的最短结果
不加问号:贪婪匹配 即符合匹配的最长结果

加括号与不加括号的区别

加括号: 即获取的只是括号内的匹配结果
不加括号:即获取的是括号内容和括号外面你写的东东

2、r.text和r.content的区别

这里的r指的是你获得的服务器的响应(r=requests.get(url))

r.text 返回的是Unicode型的数据。经常用于获取文本
r.content 返回的是bytes型也就是二进制的数据。常用于获取图片,文件,图片保存在文件的时候需要加使用’b
发布了9 篇原创文章 · 获赞 23 · 访问量 1256

猜你喜欢

转载自blog.csdn.net/weixin_43920952/article/details/104137857