• 【正则】详解python正则表达式之re.group()用法


    • 本文收录于《Python开发》专栏,此专栏聚焦于Python开发中的编程技巧和总结,将持续更新,欢迎大家订阅!
    • 个人主页:有梦想的程序星空
    • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
    • 如果文章对你有帮助,欢迎关注点赞收藏订阅。

    re.group()用法

    在正则表达式中,re.group()方法是用来提取出分组截获的字符串,匹配模式里的括号用于分组。

    举例说明:

    1. #!/usr/bin/env python
    2. # -*- coding:utf-8 -*-
    3. import re
    4. if __name__ == '__main__':
    5. # 匹配模式
    6. test_pattern = r"(\d{2}年)(\d{4}年)(\d{4}年)"
    7. # 待匹配的字符串
    8. test = "18年2019年2020年"
    9. # 整体匹配结果
    10. print(re.search(test_pattern, test).group())
    11. # 整体匹配结果
    12. print(re.search(test_pattern, test).group(0))
    13. # 第一个括号处
    14. print(re.search(test_pattern, test).group(1))
    15. # 第二个括号处
    16. print(re.search(test_pattern, test).group(2))
    17. # 第三个括号处
    18. print(re.search(test_pattern, test).group(3))

    输出:

    1. 1820192020
    2. 1820192020
    3. 18
    4. 2019
    5. 2020
    6. Process finished with exit code 0

    匹配模式中的三个括号将匹配结果分成了三组。

    re.group() 与re.group(0)就是匹配的整体结果;

    re.group(1) 列出第一个括号匹配部分;

    re.group(2) 列出第二个括号匹配部分;

    re.group(3) 列出第三个括号匹配部分。

    注意,如果没有匹配成功的,re.search返回的结果是None,使用group()会报错,如下所示:

    AttributeError: 'NoneType' object has no attribute 'group'

    如果匹配模式中没有括号(分组),使用group(1)、group(2)、group(3)会报错,如下所示:

    IndexError: no such group

    关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!

  • 相关阅读:
    公众号题库搜题对接
    美SEC主席最新表态:PoS代币可能是证券
    kaggle怎么读写文件
    opencv读取摄像头并读取时间戳
    PhPstudy小皮面板和navicat数据库图像化软件的使用教程
    安卓安装包反编译后重新打包
    什么是知识付费?未来的发展趋势如何?
    java学习第177天,javaWeb学习第36天,p248-255(07/30)
    基于STM32的烟雾传感器
    axios 源码简析
  • 原文地址:https://blog.csdn.net/kevinjin2011/article/details/125599133