Python正则表达式re.findall()函数详解与实战

阿橙
阿橙
发布时间:2026-10-13| 3人浏览过
原创

本文详细介绍Python中正则表达式模块re的findall函数用法。通过解析参数含义、匹配模式(如re.S)及实际代码示例,展示如何从字符串中提取所有匹配子串并返回列表。涵盖基础调用、标志位使用及常见应用场景,帮助开发者高效实现文本处理与数据抓取。

Python 正则表达式

正则表达式本质上是一个由特殊字符构成的序列,其主要作用是辅助用户快速判断目标字符串是否符合特定的匹配模式。

自 Python 1.5 版本起,语言内置了 re 模块,该模块提供了符合 Perl 风格的正则表达式模式支持。

re 模块赋予了 Python 语言完整的正则表达式处理能力。其中,compile 函数用于根据给定的模式字符串及可选的标志参数,构建出一个正则表达式对象。该对象包含多种方法,专门用于执行正则表达式的匹配与替换操作。

此外,re 模块还直接提供了与上述对象方法功能完全一致的独立函数。这些函数以模式字符串作为第一个参数,直接执行匹配任务。

接下来,本文将重点介绍 Python 中正则表达式模块 re 的 findall 函数的具体用法,详细内容如下。

在 Python 开发中,通过集成 re 模块,开发者可以直接调用相关函数来实现正则匹配功能。

其中,re.findall() 函数能够遍历整个字符串以查找所有匹配项,并返回包含所有匹配字符串的列表。

在 Python 源码层面,该函数搜索目标字符串 string,并返回一个迭代器,按顺序访问每一个匹配结果(Match 对象)。其核心功能是找到正则表达式 RE 匹配的所有子串,并将它们作为迭代器返回。

def findall(pattern, string, flags=0):

第一个参数为正则表达式模式。

第二个参数指定需要进行搜索的目标字符串。

第三个参数用于指定匹配模式,例如使用 re.S 标志可以使匹配过程包含换行符在内的所有字符。需要注意的是,findall() 函数在默认情况下是逐行进行匹配的。

该函数返回 string 中与 pattern 完全匹配的所有子串,返回值形式为数组(列表)。

若要在代码中使用 re.findall 函数,必须首先导入 re 模块。

import re
import re
regular_v1 = re.findall(r"docs","https://docs.python.org/3/whatsnew/3.6.html")
print (regular_v1)

执行上述代码后,返回结果为: ['docs'],这是一个数组形式的结果。

使用 $ 符号可以表示以指定内容(如 html)结尾的字符串,用于判断字符串是否以特定后缀结束。

import re
regular_v3 = re.findall(r"html$","https://docs.python.org/3/whatsnew/3.6.html")
print (regular_v3)

执行该匹配逻辑后,返回结果为: ['html'],同样以数组形式呈现。

总结

以上内容为关于 Python 中正则表达式 re.findall 用法的详细介绍,希望能对读者有所帮助。如有任何疑问,欢迎留言,小编会及时回复。同时,非常感谢大家对本网站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。