一、match object对象的属性
match object对象可以用于访问匹配的文本、子组、位置信息、命名组等信息,下面是一些常用的属性:
group(): 返回匹配的字符串。start(): 返回匹配的起始位置。end(): 返回匹配的结束位置。span(): 返回一个包含匹配起始和结束位置的元组。groups(): 返回一个包含所有子组的元组。groupdict(): 返回一个包含所有命名组的字典。
二、match object对象的方法
match object对象还有一些方法可以对匹配结果进行操作,例如:
expand(): 将匹配结果中的命名组和非命名组替换为指定的字符串。span(): 将匹配结果拆分成多个子字符串,返回一个包含这些子字符串的列表。findall(): 返回匹配结果中所有非重叠的子字符串的列表。finditer(): 返回一个迭代器,可以依次访问匹配结果中所有非重叠的子字符串。
三、示例代码
import re
text = "Hello, world!"
pattern = r"Hello"
match_obj = re.search(pattern, text)
print(match_obj.group()) # Hello
print(match_obj.start()) # 0
print(match_obj.end()) # 5
print(match_obj.span()) # (0, 5)
# 使用命名组
pattern = r"(?P<name>\w+)"
match_obj = re.search(pattern, text)
print(match_obj.groupdict()) # {'name': 'Hello'}
# 使用findall方法
text = "The quick brown fox jumps over the lazy dog."
pattern = r"\b\w{5}\b"
match_list = re.findall(pattern, text)
print(match_list) # ['quick', 'brown', 'jumps']
# 使用finditer方法
pattern = r"\b\w{5}\b"
match_iter = re.finditer(pattern, text)
for match_obj in match_iter:
print(match_obj.group(), match_obj.start(), match_obj.end())
原创文章,作者:PTGMP,如若转载,请注明出处:https://www.506064.com/n/329823.html
微信扫一扫
支付宝扫一扫