正则表达式 re.search 和 re.findall 的区别

Posted Dash的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 re.search 和 re.findall 的区别相关的知识,希望对你有一定的参考价值。

re.search  re.findall 的区别


str = ‘http://www.baidu.com123’

pattern = re.compile(’http://(.*?)123’, re.S)


result1 = re.search(pattern,str)

#输出结果为 http://www.baidu.com123

#search 是查找 pattern 的完整内容,即两个’’引号之间完整的内容,并且在相应的查找范围内找到了第一个符合条件的就停止搜索


result2 = re.findall(pattern,str)

#输出结果为 www.baidu.com

#sear 是查找 pattern 里面的两个括弧之间的内容,即.*?的内容,即我们想查找的内容 www.baidu.com,且在相应的查找范围内找到所有符合条件的内容


PS

准备在近期恢复EXCEL的更新,当然关于python的内容我会时不时丢一点上来,因为都是网上找了很久没有的信息,所以在这边自己整理一下。

以上是关于正则表达式 re.search 和 re.findall 的区别的主要内容,如果未能解决你的问题,请参考以下文章

re正则表达式方法

在 re.search 中重用已编译的正则表达式

正则表达式中的{ } () [] 及re.match re.search

在 python 列表中使用正则表达式(re.search)

还不会Python正则表达式?看这篇文章试试

Python3 爬虫09_正则表达式(re.math()re.search()re.sub()全局匹配函数)