Python正则表达re模块之findall()函数详解
在Python中,re模块是用于正则表达式操作的标准库。其中,findall()函数是re模块中最常用函数之一,用于在字符串中查找所有匹配正则表达式的子串,并返回一个列表。本文将详细讲解Python中re模块的findall()函数,包括其语法、参数、返回值以及两个示例说明。
语法
re.findall(pattern, string, flags=0)
参数
- pattern:正则表达式的模式字符串。
- string:要匹配的字符串。
- flags:可选参数,用于控制正则表达式的匹配方式,如是否区分大小写等。
返回值
findall()函数返回一个列表,其中包含所有匹配正则表达式的子串。
示例一
以下是一个示例,用于展示如何使用findall()函数查找字符串中的所有数字:
import re
# 查找字符串中的所有数字
s = "hello 123 world 456"
result = re.findall("\d+", s)
print(result)
在上面的示例中,我们使用re模块的findall()函数查找字符串s中的所有数字,并将结果存储在result变量中。其中,正则表达式”\d+”用于匹配一个或多个数字。
示例二
以下是一个示例,用于展示如何使用findall()函数查找HTML页面中的所有链接:
import re
import requests
# 查找HTML页面中的所有链接
url = "http://www.example.com"
response = requests.get(url)
html = response.text
result = re.findall("<a href=\"(.*?)\">", html)
print(result)
在上面的示例中,我们使用requests库获取一个HTML页面,并将其存储在html变量中。然后,使用re模块的findall()函数查找HTML页面中的所有链接,并将结果存储在result变量中。其中,正则表达式”“用于匹配HTML页面中的所有链接。