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

概述

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

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

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()代码,输出的效果是等价的.

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()的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部