用法:
Match.group([group1, ...])
返回匹配的一個或多個子組。如果隻有一個參數,則結果為單個字符串;如果有多個參數,則結果是一個元組,每個參數一個項目。如果沒有參數,
group1
默認為零(返回整個匹配項)。如果groupN
參數為零,則相應的返回值是整個匹配字符串;如果在包含範圍 [1..99] 內,則為匹配相應括號組的字符串。如果組數為負數或大於模式中定義的組數,則會引發IndexError
異常。如果組包含在不匹配的模式部分中,則相應的結果為None
。如果組包含在多次匹配的模式的一部分中,則返回最後一個匹配項。>>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist") >>> m.group(0) # The entire match 'Isaac Newton' >>> m.group(1) # The first parenthesized subgroup. 'Isaac' >>> m.group(2) # The second parenthesized subgroup. 'Newton' >>> m.group(1, 2) # Multiple arguments give us a tuple. ('Isaac', 'Newton')
如果正則表達式使用
(?P<name>...)
語法,則groupN
參數也可以是通過組名標識組的字符串。如果字符串參數未用作模式中的組名,則會引發IndexError
異常。一個中等複雜的例子:
>>> m = re.match(r"(?P<first_name>\w+) (?P<last_name>\w+)", "Malcolm Reynolds") >>> m.group('first_name') 'Malcolm' >>> m.group('last_name') 'Reynolds'
命名組也可以通過它們的索引來引用:
>>> m.group(1) 'Malcolm' >>> m.group(2) 'Reynolds'
如果一個組匹配多次,則隻能訪問最後一個匹配:
>>> m = re.match(r"(..)+", "a1b2c3") # Matches 3 times. >>> m.group(1) # Returns only the last match. 'c3'
相關用法
- Python re.Match.groupdict用法及代碼示例
- Python re.Match.groups用法及代碼示例
- Python re.Match.start用法及代碼示例
- Python re.Match.__getitem__用法及代碼示例
- Python Regex re.MatchObject.groups()用法及代碼示例
- Python Regex re.MatchObject.groupdict()用法及代碼示例
- Python re.compile用法及代碼示例
- Python re.fullmatch()用法及代碼示例
- Python re.split用法及代碼示例
- Python re.Pattern.match用法及代碼示例
- Python re.Pattern.search用法及代碼示例
- Python re.escape用法及代碼示例
- Python re.search() vs re.match()用法及代碼示例
- Python re.sub用法及代碼示例
- Python re.findall用法及代碼示例
- Python re.Pattern.fullmatch用法及代碼示例
- Python re.X用法及代碼示例
- Python Numpy recarray.tostring()用法及代碼示例
- Python reduce()用法及代碼示例
- Python response.status_code用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 re.Match.group。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。