python中正则表达式 多个结果
时间: 2023-10-20 18:02:09 浏览: 82
在 Python 中,要匹配多个结果,可以使用 re 模块中的 findall() 函数或者 finditer() 函数。
1. findall() 函数会返回一个列表,其中包含所有匹配到的非重叠的字符串。它的语法如下:
```python
re.findall(pattern, string, flags=0)
```
其中,pattern 是要匹配的正则表达式,string 是要匹配的字符串,flags 是可选参数,用于指定匹配模式。
下面是一个示例:
```python
import re
pattern = r'\d+'
string = 'I have 10 apples and 5 oranges.'
matches = re.findall(pattern, string)
print(matches) # 输出: ['10', '5']
```
2. finditer() 函数会返回一个迭代器,用于逐个返回匹配结果。每个匹配结果都是一个匹配对象(match object)。
```python
re.finditer(pattern, string, flags=0)
```
下面是一个示例:
```python
import re
pattern = r'\d+'
string = 'I have 10 apples and 5 oranges.'
matches = re.finditer(pattern, string)
for match in matches:
print(match.group()) # 输出: 10 和 5
```
以上代码示例中,通过正则表达式 \d+ 匹配字符串中的数字。使用 findall() 函数会返回一个列表,包含所有匹配到的数字字符串。使用 finditer() 函数则可以使用 for 循环逐个遍历匹配结果,并通过 match.group() 方法获取匹配到的字符串。
阅读全文