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個 至少乙個...