Re庫的用法

2021-10-01 13:20:41 字數 3238 閱讀 7662

python自1.5版本起增加了re模組,它提供了perl風格(perl regular expression 又叫 perl regex 簡稱 pres)的正規表示式模式,re模組使python語言擁有全部的正規表示式功能。

compile函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件,該物件擁有一系列method用於正規表示式匹配和替換。

re庫主要的功能函式

函式

說明re.search()

在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件

re.match()

從乙個字串的開始位置起匹配正規表示式,返回match物件

re.findall()

搜尋字串,以列表型別返回全部能匹配的子串

re.split()

將乙個字串按照正規表示式匹配結果進行分割,返回列表型別

re.finditer()

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

re.sub()

在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串

在乙個字串中搜尋匹配正規表示式的第乙個位置返回match物件

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

∙ pattern : 正規表示式的字串或原生字串表示

∙ string : 待匹配字串

∙ flags : 正規表示式使用時的控制標記

常用標記

說明re.i

re.ignorecase 忽略正規表示式的大小寫,[a‐z]能夠匹配小寫字元

re.m

re.multiline 正規表示式中的^操作符能夠將給定字串的每行當作匹配開始

re.s

re.dotall 正規表示式中的.操作符能夠匹配所有字元,預設匹配除換行外的所有字元

從乙個字串的開始位置起匹配正規表示式返回match物件

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

∙ pattern : 正規表示式的字串或原生字串表示

∙ string : 待匹配字串

∙ flags : 正規表示式使用時的控制標記

搜尋字串,以列表型別返回全部能匹配的子串

∙ pattern : 正規表示式的字串或原生字串表示

∙ string : 待匹配字串

∙ flags : 正規表示式使用時的控制標記

將乙個字串按照正規表示式匹配結果進行分割返回列表型別

∙ pattern : 正規表示式的字串或原生字串表示

∙ string : 待匹配字串

∙ maxsplit: 最大分割數,剩餘部分作為最後乙個元素輸出

∙ flags : 正規表示式使用時的控制標記

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

∙ pattern : 正規表示式的字串或原生字串表示

∙ string : 待匹配字串

∙ flags : 正規表示式使用時的控制標記

在乙個字串中替換所有匹配正規表示式的子串返回替換後的字串

∙ pattern : 正規表示式的字串或原生字串表示

∙ repl : 替換匹配字串的字串

∙ string : 待匹配字串

∙ count : 匹配的最大替換次數

∙ flags : 正規表示式使用時的控制標記

將正規表示式的字串形式編譯成正規表示式物件

∙ pattern : 正規表示式的字串或原生字串表示

∙ flags : 正規表示式使用時的控制標記

>>> regex = re.compile(r'[1‐9]\d')

函式

說明regex.search()

在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件

regex.match()

從乙個字串的開始位置起匹配正規表示式,返回match物件

regex.findall()

搜尋字串,以列表型別返回全部能匹配的子串

regex.split()

將乙個字串按照正規表示式匹配結果進行分割,返回列表型別

regex.finditer()

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

regex.sub()

在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串

一般使用re的步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果(乙個match函式),最後使用match函式獲得資訊,進行其他操作。

re模組的高階用法

匹配閱讀文章的次數 import re ret re.search r d 閱讀次數為 10887 print ret.group import re ret re.findall r d python 8989,c 3456,c 78781 print ret 執行結果 8989 3456 787...

正則re的基本用法

表示式 含義 預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 從字元開頭開始匹配 匹配字元結尾 匹配號前的字元0次或多次,re.findall ab cabb3abcbbac 結果為 abb ab a 匹配前乙個字元1次或多次,re.findall ab a...

re庫的使用

如果直接給出字元,就是精確匹配。用 d可以匹配乙個數字,w可以匹配乙個字母或數字 s1 00 d 可以匹配 007 但是匹配不了 00a s2 d d d 可以匹配 010 s3 w w w 可以匹配 py3 s4 s 空格s1 py.pyc pyo py2 符號功能 任意個字元,包括0個 至少乙個...