Python爬虫编程思想(34):使用findall和finditer查找每一次出现的位置

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(34):使用findall和finditer查找每一次出现的位置相关的知识,希望对你有一定的参考价值。

        findall函数用于查询字符串中某个正则表达式模式全部的非重复出现情况,这一点与search函数在执行字符串搜索时类似,但与match函数与search函数不同之处在于,findall函数总是返回一个包含搜索结果的列表,如果findall函数没有找到匹配的部分,就会返回一个空列表,如果匹配成功,列表将包含所有成功的匹配部分(从左向右按匹配顺序排列)。

result = re.findall(\'bike\', \'bike\')
# 运行结果:[\'bike\']
print(result)		
result = re.findall(\'bike\', \'My bike\')
# 运行结果:[\'bike\']
print(result)
# 运行结果:[\'bike\', \'bike\']
result = re.findall(\'bike\', \'This is a bike. This is my bike.\')
print(result)

        finditer函数在功能上与findall函数类似,只是更节省内存。这两个函数的区别是findall函数会将所有匹配的结果一起通过列表返回,而finditer函数会返回一个迭代器,只有对finditer函数返回结果进行迭代,才会对字符串中某个正则表达式模式进行匹配。findall函数与finditer函数相当于读

以上是关于Python爬虫编程思想(34):使用findall和finditer查找每一次出现的位置的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(135):多线程和多进程爬虫--Python与线程

Python爬虫编程思想(67): 使用pyquery修改节点

Python爬虫编程思想(127):使用Appium抓取移动数据--安装和配置Appium

Python爬虫编程思想(51):使用Beautiful Soup选择节点

Python爬虫编程思想(128):使用Appium抓取移动数据--启动Appium服务