re库有哪些常用的函数?
时间: 2024-10-03 21:04:50 浏览: 19
Python的`re`库(Regular Expression库)提供了正则表达式相关的功能,其常用函数包括:
1. `re.match(pattern, string, flags=0)`:从字符串的开始位置尝试匹配正则表达式。如果匹配成功,返回匹配对象;失败则返回None。
2. `re.search(pattern, string, flags=0)`:在整个字符串中搜索匹配,与`match()`不同的是,即使在字符串开始不匹配,它也会继续搜索直到找到第一个匹配的位置。
3. `re.findall(pattern, string, flags=0)`:查找所有匹配项并返回它们作为列表。每个匹配都是完整的子串,包括任何前导和尾随的空格。
4. `re.finditer(pattern, string, flags=0)`:类似于`findall()`,但返回一个迭代器,每次迭代返回一个匹配对象。
5. `re.compile(pattern, flags=0)`:编译一个正则表达式模式,可以提高后续多次匹配的速度。
6. `re.sub(pattern, repl, string, count=0, flags=0)`:替换字符串中所有匹配的子串。`repl`可以是一个字符串或者一个函数。
7. `re.split(pattern, string, maxsplit=0, flags=0)`:使用正则表达式分割字符串,返回由匹配的子串组成的列表。
8. `re.escape(string)`:转义特殊字符,使之成为普通字符用于正则表达式。
这些函数在处理文本数据时非常有用,比如验证、提取特定模式的数据等。例如,你可以编写如下的代码来查找所有电子邮件地址[^2]:
```python
import re
email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
emails = re.findall(email_pattern, "Please contact me at john.doe@example.com or jane_doe@domain.co.uk")
print(emails)
```
阅读全文