2024年3月26日发(作者:)

findall方法

findall方法是Python中re模块提供的一个非常实用的功能。

当我们需要查找并返回符合某个模式的所有字符串时,该方法

就可以派上用场。本文将详细讲解findall方法的用法和相关

注意事项。

1. findall方法的基本用法

findall方法的基本用法非常简单。它接受两个参数:一个正则

表达式和一个待匹配的字符串。它会在字符串中查找符合正则

表达式的所有子串,并返回一个列表,列表中包含了所有符合

条件的子串。

下面是一个简单的示例代码:

```python

import re

s = 'hello, world! today is 2021-06-01'

pattern = r'd{4}-d{2}-d{2}'

result = l(pattern, s)

print(result)

```

运行以上代码会输出结果:['2021-06-01']。可以看到,在字符

串s中,只有一个符合正则表达式的子串,findall方法把它提

取出来并放到了列表中返回了。

2. 匹配多个子模式

在使用正则表达式时,我们通常会包含多个子模式。在这种情

况下,findall方法会匹配所有符合条件的子串。下面是一个包

含多个子模式的示例:

```python

import re

s = 'hello, world! today is 2021-06-01. tomorrow is 2021-06-02.'

pattern = r'd{4}-d{2}-d{2}'

result = l(pattern, s)

print(result)

```

运行以上代码,输出结果为 ['2021-06-01', '2021-06-02']。在这

个例子中,我们匹配了两个符合指定格式的日期子串,并返回

了一个列表。

3. 使用括号分组

在正则表达式中,使用括号可以将子模式分组。findall方法会

匹配所有符合条件的子串并按照括号的顺序返回。下面是一个

使用括号分组的示例:

```python

import re