python 基礎 8.5 re 的match對象


#/usr/bin/python
#coding=utf-8
#@Time   :2017/11/18 21:49
#@Auther :liuzhenchuan
#@File   :match對象.py
 
import re
prog = re.compile(r'(?P<tagname>abc)(.*)(?P=tagname)')
result1 = prog.match('abclfjlad234sjldabc')
print(result1)
print(result1.groups())
print result1.group('tagname')
print(result1.group(2))
print(result1.groupdict())
 
>>>
<_sre.SRE_Match object at 0x027B6CC8>
('abc', 'lfjlad234sjld')
abc
lfjlad234sjld
{'tagname': 'abc'}
 
解釋:
  1. 我們可以看到result1已經由字符串轉換成了一個正則對象。
  2. resule.groups()可以查看出來所有匹配到的數據,每個()是一個元素,最終返回一個tuple
  3. group()既可以通過下標(從1開始)的方式訪問,也可以通過分組名進行訪問。
  4. groupdict只能顯示有分組名的數據
 
 
group([group1, …]): 
獲得一個或多個分組截獲的字符串;指定多個參數時將以元組形式返回。group1可以使用編號也可以使用別名;編號0代表整個匹配的子串;不填寫參數時,返回group(0);沒有截獲字符串的組返回None;截獲了多次的組返回最后一次截獲的子串。
groups([default]): 
以元組形式返回全部分組截獲的字符串。相當於調用group(1,2,…last)default表示沒有截獲字符串的組以這個值替代,默認為None
groupdict([default]): 
返回以有別名的組的別名為鍵、以該組截獲的子串為值的字典,沒有別名的組不包含在內。default含義同上。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM