Python的re.findall怎么用
时间: 2024-10-26 12:02:42 浏览: 31
python正则re模块
Python中的`re.findall()`函数是正则表达式模块`re`提供的一个功能,它可以在一个字符串中查找所有匹配正则表达式的非贪婪模式,并返回一个包含所有找到的字符串列表。这个方法适用于提取特定格式的文本数据。
基本语法如下:
```python
import re
pattern = "your_pattern" # 正则表达式模式
string = "the_string_to_search" # 要搜索的字符串
matches = re.findall(pattern, string)
```
例如,如果你想从一段HTML中提取所有的URLs,你可以使用如下代码:
```python
html = "<a href='https://example.com'>Example</a> and <img src='http://image.example.com'>"
urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', html)
```
这将返回一个包含所有URL的列表,如`['https://example.com', 'http://image.example.com']`。
需要注意的是,`findall()`默认不区分大小写,如果你想进行大小写敏感的搜索,可以在正则表达式前添加`re.IGNORECASE`标志,或者在调用`findall()`时传递`re.IGNORECASE`作为第三个参数。
阅读全文