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

【正则】详解python正则表达式之re.group()用法本文收录于 Python 开发 专栏 此专栏聚焦于 Python 开发中的编程技巧和总结 将持续更新 欢迎大家订阅 个人主页 有梦想的程序星空 个人介绍 小编是人工智能领域硕士 全栈工程师 深耕 Flask 后端开发 数据挖掘 NLP Android 开发 自动化等领域

大家好,我是讯享网,很高兴认识大家。

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

re.group()用法

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

举例说明:

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

讯享网

输出:

讯享网18年2019年2020年 18年2019年2020年 18年 2019年 2020年 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

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

小讯
上一篇 2025-04-08 11:44
下一篇 2025-02-25 10:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/118140.html