python正则表达式re模块
时间: 2023-10-12 15:05:02 浏览: 88
python正则表达式re模块详细介绍
5星 · 资源好评率100%
re模块是Python中用于正则表达式操作的标准库。使用re模块可以对文本中的模式进行匹配、搜索、替换等操作。
下面是一些常用的re模块函数:
1. re.search(pattern, string, flags=0):在字符串中搜索匹配指定正则表达式的第一个位置,返回match对象。
2. re.match(pattern, string, flags=0):从字符串的开始位置匹配正则表达式,返回匹配对象。
3. re.findall(pattern, string, flags=0):搜索字符串,以列表形式返回所有匹配的字符串。
4. re.sub(pattern, repl, string, count=0, flags=0):使用指定的替换字符串替换所有匹配的字符串。
5. re.split(pattern, string, maxsplit=0, flags=0):使用正则表达式分割字符串,并返回分割后的字符串列表。
6. re.compile(pattern, flags=0):编译正则表达式,返回一个Pattern对象。
其中,pattern是正则表达式模式,string是要匹配的字符串,flags是匹配模式设置。常用的匹配模式有:
- re.IGNORECASE(忽略大小写)
- re.MULTILINE(多行匹配)
- re.DOTALL(匹配所有字符,包括换行符)
例如,可以使用re.search()函数来查找字符串中是否包含指定的子字符串:
```python
import re
string = "hello world"
pattern = "world"
match = re.search(pattern, string)
if match:
print("Found")
else:
print("Not found")
```
输出:
```
Found
```
还可以使用正则表达式来匹配复杂的模式,例如匹配所有的邮箱地址:
```python
import re
string = "My email address is john@example.com."
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
matches = re.findall(pattern, string)
print(matches)
```
输出:
```
['john@example.com']
```
阅读全文