一、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-hant/n/329823.html
微信掃一掃
支付寶掃一掃