Group(), Groups(),& Groupdict() 用法
阿新 • • 發佈:2019-02-10
size multipl last erl most 用法 span 字符串 isa
group()
返回一個或多個匹配的字串。如果只有一個參數,結果只有單個字符串;如果有多個參數,結果是一個元組,元組裏每一項對應一個參數。沒有參數,group1默認是0(整個匹配串被返回)。如果groupN參數是0,對應的返回值是整個匹配串;如果它屬於[1,99],返回對應的一項括號分隔的群。如果參數是負數或大於模式串中定義的群數,IndexError異常會被拋出。如果模式串沒有任何匹配,group返回None;如果模式串多次匹配,group將返回最後一次匹配。\
>>> 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‘)
In [2]: m = re.match(r"(..)+", "a1b2c3") # 三次匹配 In [3]: m.group(0) # 返回整個匹配串 Out[3]: ‘a1b2c3‘ In [4]: m.group(1) # 只返回最後一個匹配 Out[4]: ‘c3‘ In [5]: m.group(2) --------------------------------------------------------------------------- IndexError Traceback (most recent call last)<ipython-input-5-9b74dc8a1297> in <module>() ----> 1 m.group(2) IndexError: no such group
groups()
它返回一個包含所有匹配子群的元組。
>>> m = re.match(r"(\d+)\.(\d+)", "24.1632") >>> m.groups() (‘24‘, ‘1632‘)
groupdict()
它返回一個字典,包含所有經命名的匹配子群,鍵值是子群名。
>>> m = re.match(r‘(?P<user>\w+)@(?P<website>\w+)\.(?P<extension>\w+)‘,‘[email protected]‘) >>> m.groupdict() {‘website‘: ‘hackerrank‘, ‘user‘: ‘myname‘, ‘extension‘: ‘com‘}
Group(), Groups(),& Groupdict() 用法