我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象。不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是findall和finditer这一对小伙伴,它们在输出的形式上有所不同。在这里小编先卖一个关子,想要知道答案的小伙伴,我们接着往下看。
findall(pattern, string, flags=0)
在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过列表list的形式返回。
importre pattern=re.compile(r'\W+') result1=pattern.findall('helloworld!') result2=pattern.findall('helloworld!',0,7) print(result1)#['','!'] print(result2)#['']
finditer(pattern, string, flags=0)
在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过迭代器的形式返回。
importre pattern=re.compile(r'\W+') result=pattern.finditer('helloworld!') forrinresult: print(r) #<re.Matchobject;span=(5,6),match=''> #<re.Matchobject;span=(11,12),match='!'>
看完的小伙伴会发现本篇的函数也是很相似的,不过没有上篇的sub那么容易看错,findall和finditer的使用方法相信大家都学会啦。更多Python学习推荐:PyThon学习网教学中心。