一、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/zh-tw/n/329823.html