python 正则表达式re库学习
发布日期:2021-06-30 15:40:20 浏览次数:2 分类:技术文章

本文共 2095 字,大约阅读时间需要 6 分钟。

技术QQ交流群:294088839# 正则表达式# 掌握正则表达式#import re# s = r'abc'# # print(re.findall(s, 'abcdsasdads'))# ## # st = "top tip tqp twp tep"# # res = r'top'# # print(re.findall(res,st))# ## # res = r"t[io]p"# # print(re.findall(res,st))# compile 编译正则  形成一个对象# 编译后的正则 运行速度更快# p = re.compile('aaa')# print(p.findall('aaa'))# 不区分大小写 re.I 这个参数不区分大小写# csvt_re = re.compile(r'csvt', re.I)# print(csvt_re.findall('cSvT'))# # match# print(csvt_re.match('cSvT'))# # search# print(csvt_re.search('cSvT'))# # finditer 迭代对象# x = csvt_re.finditer('cSvT')# print(x)# # sub#  查看库里方法 dir()# print(dir(re))# r1 = r'csvt.net'# print(re.findall(r1, 'csvt.net'))# s  =  """# hello csvt# hello csvt hello# csvt hehe# """# r = r"^csvt"# # 大M 方法  进行多行匹配# print(re.findall(r, s, re.M))## tel = r"""# \d{3,4}# -?# \d{8}# """# # 如果正则是多行的时候 就可以利用 大X方法 进行匹配# print(re.findall(tel, '010-12345678', re.X))# email = r"\w{3}@\w+(\.com|\.cn)"# print(re.match(email, 'zzz@csvt.com'))# print(re.match(email, 'zzz@csvt.com').group(0))# 爬虫练习# 获取HTML代码# import re# import urllib# def getHtml(url):#     page = urllib.request.urlopen(url)#     html = page.read()#     return html# #利用正则 找到图片的地址# def getImg(html):#     reg = r'src="(.*\.jpg)" size'#     imgre = re.compile(reg)#     html = html.decode('utf-8') # python 3 中 对数据的爬取 需要设置汉字编码#     imglist = re.findall(imgre, html)#    # return imglist#     x = 0#     for i in imglist:#        # print(i)#          urllib.request.urlretrieve(i, '%s.jpg' % x)#          x += 1# html = getHtml("https://tieba.baidu.com/p/5694970555")# #print(getImg(html))# getImg(html)# python 对内存的使用# 浅拷贝和深拷贝# 所谓浅拷贝就是对引用的拷贝# 所谓深拷贝就是对对象的资源的拷贝# 例子:# a = [1,2,3]# b = a# print(b)# 内存的位置# print(id(a))# print(id(b))# a.append('a')# print(a)# print(b)# 拷贝数据# import copy# a = [1, 2, 3, ['a', 'b', 'c']]# b = a# c = copy.copy(a)# 看着数据一样的 但是地址空间是不一样的# print(b)# print(c)# print(id(a))# print(id(b))# print(id(c))# 这样当改A的时候 C是不变的# a.append('d')# print(a)# print(b)# print(c)# 浅拷贝 复制出来一个跟父对象一样的数据 但是地址空间变了# 但是里面的元素的地址是没有发生变化的 如果父对象追加的数据# 子对象是不会追加的 但是如果父对象元素进行修改的话 这样 子元素就会变# 字符串和元组是不可变类型  列表跟数组是可变类型# 深拷贝 把所有的数据都拷贝数据  什么都发生变化

转载地址:https://jsonll.blog.csdn.net/article/details/81562673 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 系统操作练习 os模块
下一篇:Centos 7.X 安装 supervisord

发表评论

最新留言

不错!
[***.144.177.141]2024年04月09日 08时50分01秒