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!
推薦閱讀:
- python正則表達式之re.match()與re.search()的用法及區別
- Python 正則表達式基礎知識點及實例
- Python3 re.search()方法的具體使用
- python正則表達式re.match()匹配多個字符方法的實現
- Python中正則表達式對單個字符,多個字符和匹配邊界等使用