一、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