1. 程式人生 > >Group(), Groups(),& Groupdict() 用法

Group(), Groups(),& Groupdict() 用法

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() 用法