品易云推流 关闭
文章详情页
文章 > Python基础教程 > python3 re有哪些返回形式?

python3 re有哪些返回形式?

头像

小妮浅浅

2020-11-19 18:26:541683浏览 · 0收藏 · 0评论

我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象。不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是findall和finditer这一对小伙伴,它们在输出的形式上有所不同。在这里小编先卖一个关子,想要知道答案的小伙伴,我们接着往下看。


findall(pattern, string, flags=0)

在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过列表list形式返回。

import re
 
pattern = re.compile(r'\W+')
result1 = pattern.findall('hello world!')
result2 = pattern.findall('hello world!', 0, 7)
 
print(result1) #[' ', '!']
print(result2) #[' ']


finditer(pattern, string, flags=0)

在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过迭代器形式返回。

import re
 
pattern = re.compile(r'\W+')
result = pattern.finditer('hello world!')
for r in result:
    print(r)
# <re.Match object; span=(5, 6), match=' '>
# <re.Match object; span=(11, 12), match='!'>


看完的小伙伴会发现本篇的函数也是很相似的,不过没有上篇的sub那么容易看错,findall和finditer的使用方法相信大家都学会啦。更多Python学习推荐:PyThon学习网教学中心

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图