前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python五十九课——正则表达式的拓展内容

python五十九课——正则表达式的拓展内容

作者头像
hankleo
发布2020-09-16 16:35:30
3860
发布2020-09-16 16:35:30
举报
文章被收录于专栏:Hank’s BlogHank’s Blog

演示正则表达式的拓展内容: 函数: finditer(regex,string,[flags=0]): 参数:和match、search、findall一样理解 功能: 将所有匹配的数据封装为一个一个的match对象, 然后以iterator返回

代码语言:javascript
复制
import re
str1 = 'i love shanghai shanghai shanghai so much'
regex = 'shanghai'
it = re.finditer(regex,str1)
print(it,type(it))

'''
iterator(迭代器对象)不能直接被len()所执行,否则报错:TypeError
但是我们可以将其先装换为容器对象(list、tuple...)可以被len()所执行了
'''
print(len(it))
print(len(list(it)))


'''
使用遍历的思想去访问iterator中的元素
'''
for i in it:
    print(i)
    print(type(i))
    print(i.group())

#迭代器对象中的内容只能被使用一次,不可逆;否则报错:StopIteration
print(next(it))
print(next(it))
print(next(it))
print(next(it)) #报错


'''
思考:可不可以使用while循环来实现遍历iterator对象的操作?
'''
while 1:
    try:
        matchobj=next(it)
        print(matchobj)
        print(matchobj.group())
    except:
        break
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档