python与正则表达式(part8)--compile对象及match对象的属性方法
生活随笔
收集整理的這篇文章主要介紹了
python与正则表达式(part8)--compile对象及match对象的属性方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- compile對象屬性(compile函數生成的正則表達式對象的屬性)
- flags參數擴展
- 舉個例子
- match對象的屬性方法
- 1.屬性變量
- 2.屬性方法
- 舉個例子
compile對象屬性(compile函數生成的正則表達式對象的屬性)
| flags | flags值 |
| pattern | 表示對象的正則表達式 |
| groups | 表示正則表達式中有幾個子組 |
| groupindex | 返回:字典{組名:組序列號} |
flags參數擴展
flags參數擴展
1.使用該參數的函數
re模塊調用的匹配函數。如:re.compile,re.findall,re.search…
2.作用
擴展豐富正則表達式的匹配功能
3.常用flag
| A | ASCII | 使元字符只能匹配ascii碼 |
| I | IGNORECASE | 匹配忽略字母大小寫 |
| S | DOTALL | 使 【.】 可以匹配換行(如果不擴展功能,一般情況下,【.】是無法匹配換行的) |
| M | MULTILINE | 使 ^和 $可以匹配每一行的開頭和結尾位置(如果不擴展功能,則^和$只能匹配每個目標字符串的開頭和結尾位置) |
| X | VERBOSE | 為正則添加注釋 |
備注1:這些flags參數值都是re模塊中的常量。同時,他們也是re模塊的屬性,所以使用它們時,我們要用【re.flags參數值】的方式去調用,比如re.A。
備注2:由下面的例子,我們也看到了,這些flags值,實際上都是整數。
舉個例子
代碼和結果放在一起:
十進制32–>二進制10000。regex.flags的二進制為10000時,表示不添加任何附加功能。
十進制34–>二進制10010。regex.flags的二進制為10010時,表示附加功能為re.I。
match對象的屬性方法
1.屬性變量
| pos | 匹配的目標字符串開始位置 |
| endpos | 匹配的目標字符串結束位置 |
| re | 正則表達式 |
| string | 目標字符串 |
| lastgroup | 最后一組的名稱 |
| lastindex | 最后一組的序號 |
2.屬性方法
| span() | 獲取匹配內容的起止位置 |
| start() | 獲取匹配內容的開始位置 |
| end() | 獲取匹配內容的結束位置 |
| groupdict() | 獲取捕獲組字典,組名為鍵,對應內容為值 |
| groups() | 獲取子組對應內容 |
| group(n = 0) | 獲取match對象匹配內容 |
舉個例子
代碼:
輸出結果:
總結
以上是生活随笔為你收集整理的python与正则表达式(part8)--compile对象及match对象的属性方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 行列式的几何意义,计算公式_n阶行列式几
- 下一篇: python基础(part1)--注释/