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()
('', '')

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

最新文章

  1. [CareerCup] 15.6 Entity Relationship Diagram 实体关系图
  2. highcharts插件使用总结和开发中遇到的问题及解决办法
  3. [ javascript canvas toDataURL() clip() ] javascript canvas toDataURL() clip() 属性及方法演示
  4. android设备休眠机制
  5. [算法] 数据结构之AVL树
  6. bzoj 1862/1056 [HAOI2008]排名系统
  7. golang没有条件表达式?:
  8. IntegrityError错误
  9. iOS SEL的简单总结
  10. css(字体,文本,边距,边框,阴影,背景,渐变,多重背景,列表)
  11. bzoj2730
  12. Windows打印体系结构之Print Spooler概念与架构
  13. 水池数目(DFS)
  14. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
  15. Objective-c runtime方法替换引发的死循环
  16. 基于服务的SOA架构_后续篇
  17. 准备 macvlan 环境 - 每天5分钟玩转 Docker 容器技术(54)
  18. poj1456 Supermarket 贪心+并查集
  19. B. Lynyrd Skynyrd
  20. python简单爬虫 用lxml库解析数据

热门文章

  1. Java 制作证书的工具keytool用法总结
  2. 翻译:MariaDB字符集和排序规则
  3. escape()、encodeURI()、encodeURIComponent()区别详解(转)
  4. Qt下 QString转char*
  5. windows下实现linux的远程访问以及linux上文件的上传和下载
  6. Android开发更新UI的几种方式
  7. Ionic3学习笔记(三)禁止横屏
  8. 【转】NAS 黑群晖 配置完成(不含硬盘),NAS能做什么?
  9. wpf 画刷的分类
  10. 深入浅出AQS之组件概览