python re模組簡單使用

2021-09-28 18:38:17 字數 1864 閱讀 3954

import re

# 匯入re模組

regex = compile(pattern,flags = 0)

功能 : 生成正規表示式物件

引數 : pattern 正規表示式

flags 功能標誌位,豐富正規表示式的匹配功能

返回值 : 返回正規表示式物件

re.findall(pattern,string,flags)

功能 :從目標字串查詢正則匹配內容

引數 : pattern 正規表示式

string 目標字串

flags 標誌位

返回值 : 返回匹配到的內容

如果正則有子組則只返回子組對應內容

regex.findall(string,pos,endpos)

功能 :從目標字串查詢正則匹配內容

引數 : string 目標字串

pos 匹配目標的起始位置

endpos 匹配目標的終止位置

返回值 : 返回匹配到的內容

如果正則有子組則只返回子組對應內容

re.split(pattern,string,flags = 0)

功能:根據正則匹配內容切割字串

引數: pattern string flags

返回值: 返回列表,列表中為切割的內容

re.sub(pattern,replacestr,string,max,flags)

功能: 替換正則匹配到的目標子串部分

引數: replacestr 要替換的內容

max 最多替換幾處 預設全部替換

返回值 : 返回替換後的字串

re.subn(pattern,replacestr,string,max,flags)

功能: 替換正則匹配到的目標子串部分

引數:replacestr 要替換的內容

max 最多替換幾處 預設全部替換

返回值 : 返回乙個元組,為實際替換了幾處和替換後的字 符串

re.finditer(pattern,string,flags)

功能: 使用正規表示式匹配目標字串

引數: pattern string flags

返回值: 返回乙個迭代物件,迭代到的內容是乙個match對 象

fullmatch(pattern,string,flags)

功能: 完全匹配目標字串

引數: pattern,string,flags

返回值:返回匹配到的match物件

如果沒匹配成功返回none

match(pattern,string,flags)

功能: 從開頭位置匹配目標字串

引數: pattern,string,flags

返回值:返回匹配到的match物件

如果沒匹配成功返回none

search(pattern,string,flags)

功能: 正規表示式匹配目標字串,只匹配第一處

引數: pattern,string,flags

返回值:返回匹配到的match物件

如果沒匹配成功返回none

compile物件屬性:

flags : 標誌位

pattern : 正規表示式

groups: 有多少子組

groupindex : 捕獲組形成組名和序列號的字典

組名為鍵,第幾組為值

python re模組findall使用

今天練習re模組時候出現了乙個很奇怪的問題,同樣的正規表示式用re.search 與用re.compile findall 匹配出來的結果不一致。很是奇怪,故此記錄一下,防止以後碰到類似情況解決不了。1 usr bin env python32 author taoke 3import re4 st...

python re模組使用技巧總結

import re 使用 p.或者 p name 來標記變數,使用 g的方式來檢索 test 110 120 result re.sub r 1 p 0 9 a g test print result 使用 數字來索引已經標記的分組 test aabb aabb results re.findall...

Python re 正則模組

有些字元比較特殊,它們和自身並不匹配,而是會表明應和一些特殊的東西匹配,或者它們會影響到 re 其它部分的重複次數,它們叫元字元。其中 m 和 n 是十進位制整數。該限定符的意思是至少有 m 個重複,至多到 n 個重複。舉個例子,a b 將匹配 a b a b 和 a b 它不能匹配 ab 因為沒有...