我是靠谱客的博主 认真书本,这篇文章主要介绍正则表达式re.findall()与re.finditer()的区别,现在分享给大家,希望可以做个参考。

正则表达式re.findall()与re.finditer()的区别

re.findall()如果可以匹配返回的是一个列表,re.finditer()返回的是一个迭代器,需要对其进行遍历,才能获取数据。

复制代码
1
2
3
4
5
6
7
8
9
import re def main(): content = '八神是我的好朋友,他的手机电话是18381665314, 他的QQ是1911966573, 他女朋友的电话是18381665315, QQ:1911966574 !' regex = re.compile(r'd{11}') tels = regex.findall(content) print(tels) if __name__ == '__main__': main() # ['18381665314', '18381665315']

以上的findall()代码,用以下的finditer()代码,输出的效果是等价的.

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
import re def main(): content = '八神是我的好朋友,他的手机电话是18381665314, 他的QQ是1911966573, 他女朋友的电话是18381665315, QQ:1911966574 !' regex = re.compile(r'd{11}') tels_obj = regex.finditer(content) tels_list = [] for tel in tels_obj: tels_list.append(tel.group()) print(tels_list) if __name__ == '__main__': main() # ['18381665314', '18381665315']

最后

以上就是认真书本最近收集整理的关于正则表达式re.findall()与re.finditer()的区别的全部内容,更多相关正则表达式re.findall()与re.finditer()内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(101)

评论列表共有 0 条评论

立即
投稿
返回
顶部