python五十九课——正则表达式的拓展内容
Posted Hank
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python五十九课——正则表达式的拓展内容相关的知识,希望对你有一定的参考价值。
演示正则表达式的拓展内容:
函数:
finditer(regex,string,[flags=0]):
参数:和match、search、findall一样理解
功能:
将所有匹配的数据封装为一个一个的match对象,
然后以iterator返回
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
以上是关于python五十九课——正则表达式的拓展内容的主要内容,如果未能解决你的问题,请参考以下文章