Python正则表达re模块之findall()函数详解

  • Post category:Python

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页面中的所有链接。