python使用re模組提供了正規表示式處理的能力
常量說明
flags
re.m
re.multline
多行模式
1re.s
re.dotall
單行模式
10re.i
re.ignorecase
忽略大小寫
100re.x
re.verbpse
忽略表示式中的空白字元
1000
使用| 位或
運算開啟多種選項 re.m | re.s
正規表示式:pattern=r』公式』
regex = re.compile(pattern,flags = ?)
pattern 就是正規表示式字串,flags是選項。
設定flags , 編譯模式,返回正規表示式物件regex
正規表示式需要被編譯,為了提高效率,這些編譯後的結果被儲存,下次使用同樣的pattern的時候,就不需要再次編譯了。
re的其他方法為了提高效率都呼叫了編譯方法,就是為了提速
只從起點開始匹配,至多匹配一次
有結果,就顯示結果,返回match物件
無匹配,就顯示none
起點預設是0,也可以自己設定
re.match(pattern , string , flags=0)
regex.match(string [ , pos[,endpos]])
string就是測試文字
從頭開始搜尋,但至多匹配一次,
找到第乙個立即返回結果,即match物件
否則返回none
re.search(pattern , string , flags=0)
regex.match(string [ , pos[ , endpos]])
結果只有兩個
找到匹配,輸出全長或給定區間的所有字元
否則,none
re.fullmatch(pattern , string , flags=0)
regex.fullmatch(string [ , pos [ , endpos]])
對整個字串,從左至右匹配,立即返回所有匹配項的列表
列表中元素是字串
re.findall (pattern , string ,flags=0)
regex.findall (string [ , pos [,endpos]])
對整個字串,從左至右匹配,返回所有匹配項,返回惰性迭代器
注意每次迭代返回的是match物件
re.finditer(pattern,string,flags=0)
regex.finditer(string[,pos[,endpos]])
使用pattern對字串string進行匹配,對匹配項使用replacement替換
replacement可以是string,bytes,function
re.sub(pattern,replacement , string , count=0 ,flag=0)
regex.sub(replacement,string,count=0)
同sub返回乙個元組(new_string,number_of_subs_made)
re.subn(pattern,replacement , string , count=0 ,flag=0)
regex.subn(replacement,string,count=0)
re.split() 分割字串
re.split(pattern, string, maxsplit=0, flags=0)
使用小括號的pattern捕獲的資料被放到了組group中。
match、search函式可以返回match物件; findall返回字串列表;finditer返回乙個個match物件
如果pattern中使用了分組,如果有匹配結果,會在match物件中
1.使用group(n)方式返回對應分組,1到n是對應的分組,0返回整個匹配的字串,n不寫預設為0
2.如果使用了命名分組,可以使用group(『name』)的方式取分組
3.也可以使用groups() 返回所有組
4.使用groupdict() 返回所有命名的分組
如果有分組,findall 返回的是分組的內容,而不是match匹配的字串
有沒有分組,可以使用match物件的group(0) ,他總是為匹配的字串
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...