python正則表達式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()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: