re.findall()用于查找字符串中所有匹配正则表达式的内容并返回列表,若无匹配则返回空列表。其语法为re.findall(pattern, string, flags=0),其中pattern是正则表达式,string是要搜索的文本,flags为可选标志如re.IGNORECASE。例如提取数字:text = "我有3个苹果和5个橙子,一共8个水果",使用re.findall(r'\d+', text)得到['3', '5', '8'],\d+匹配一个或多个数字。提取邮箱地址时,使用re.findall(r'\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}\b', text),可匹配如'tom@abc.com'和'jerry@xyz.org'。当正则中包含捕获分组(括号)时,findall返回分组内容而非整个匹配;例如text = "姓名:张三,年龄:25;姓名:李四,年龄:30",执行re.findall(r'姓名:(\w+),年龄:(\d+)', text)得到[('张三', '25'), ('李四', '30')],即元组列表;若只有一个分组,则返回字符串列表。通过flags参数可实现忽略大小写等扩展功能,如re.findall(r'python', "Python is

Python 的 re.findall() 方法用于查找字符串中所有与正则表达式匹配的内容,并以列表形式返回。如果找不到匹配项,返回空列表。
使用方法如下:
re.findall(pattern, string, flags=0)从一段文本中提取所有数字:
import rer'\d+' 表示匹配一个或多个数字。
立即学习“Python免费学习笔记(深入)”;
比如提取所有邮箱地址:
text = "联系我:tom@abc.com 或 jerry@xyz.org"当模式中包含捕获分组(括号)时,findall 返回的是分组内容,而不是整个匹配。
text = "姓名:张三,年龄:25;姓名:李四,年龄:30"此时返回的是元组列表,每个元组对应一个匹配中的分组。
如果只有一个分组,返回值是字符串列表。
使用 flags 参数扩展匹配能力:
text = "Python is great. I love python!"基本上就这些。掌握 findall 的关键是理解正则模式和分组行为。实际使用时多测试即可。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号