Match对象是什么
时间: 2024-10-24 20:06:25 浏览: 12
Python程序设计之子模式与match对象
在Python的正则表达式(re)模块中,当你使用`search()`、`findall()`等函数找到匹配时,它们通常会返回一个`Match`对象。`Match`对象封装了匹配到的部分以及一些有关匹配的信息。这个对象包含以下几个重要属性和方法:
1. `group()` 和 `groups()`: 可以获取整个匹配的字符串(默认是整个匹配),或者按分组获取各部分匹配的结果。
2. `span()`: 返回匹配的起始和结束索引位置,是一个元组形式 `(start_index, end_index)`。
3. `expand()`: 将匹配的对象替换为原始字符串中与之相匹配的实际文本。
你可以通过这些方法进一步分析和操作匹配的内容。例如:
```python
import re
text = "Today is 2023-04-01."
match = re.search(r"\d{4}-\d{2}-\d{2}", text)
if match:
year = match.group(0) # 获取整个匹配
day_month_year = match.groups() # 分组获取年月日
start_end = match.span() # 起始和结束位置
print(f"Year: {year}, Day-Month-Year: {day_month_year}, Start-End: {start_end}")
```
阅读全文