Python的正規表示式

2021-09-28 22:58:57 字數 2411 閱讀 9487

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函式對字串...