码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-02-10 12:11:17      阅读:512      评论:0      收藏:0      [点我收藏+]

标签:http   rac   groups   upd   ace   first   targe   traceback   html   

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+),myname@hackerrank.com)
>>> m.groupdict()
{website: hackerrank, user: myname, extension: com}

 

  

 

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

标签:http   rac   groups   upd   ace   first   targe   traceback   html   

原文地址:https://www.cnblogs.com/joneylulu/p/10358952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!