python正则表达式re.group()用法

Nafisa ·
更新时间:2024-09-20
· 117 次阅读

目录

re.group()用法

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

到此这篇关于python正则表达式re.group()用法的文章就介绍到这了,更多相关python re.group()内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



python正则 group Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号