1. 程式人生 > >python re庫(正則表示式)入門

python re庫(正則表示式)入門

正則表示式(英文名稱:regular expression,regex,RE)是用來簡潔表達一組字串特徵的表示式。最主要應用在字串匹配中。

\d 數字:[0-9]
\D 非數字: [^0-9]
\s 空白字元:[ \t\n\x0B\f\r]
\S 非空白字元:[^\s]
\w 單詞字元:[a-zA-Z_0-9]
\W 非單詞字元:[^\w]

匹配IP地址的正則表示式:

1

2

3

4

5

6

IP地址字串形式的正則表示式(IP地址分4段,每段0-255

精確寫法  0-99:[1-9]?\d

        

100-1991\d{2}

        200-2492[0-4]\d

        250-25525[0-5]

 (([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])

 

 


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

在一個字串中搜索匹配正則表示式的第一個位置,返回match物件
∙ pattern : 正則表示式的字串或原生字串表示
∙ string : 待匹配字串
∙ flags : 正則表示式使用時的控制標記

 


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

從一個字串的開始位置起匹配正則表達,返回match物件
∙ pattern : 正則表示式的字串或原生字串表示
∙ string : 待匹配字串
∙ flags : 正則表示式使用時的控制標記

 


re.findall(pattern, string, flags=0)
搜尋字串,以列表型別返回全部能匹配的子串
∙ pattern : 正則表示式的字串或原生字串表示
∙ string : 待匹配字串
∙ flags : 正則表示式使用時的控制標記


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

將一個字串按照正則表示式匹配結果進行分割,返回列表型別
∙ pattern : 正則表示式的字串或原生字串表示
∙ string : 待匹配字串
∙ maxsplit: 最大分割數,剩餘部分作為最後一個元素輸出
∙ flags : 正則表示式使用時的控制標記

 


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

搜尋字串,返回一個匹配結果的迭代型別,每個迭代元素是match物件
∙ pattern : 正則表示式的字串或原生字串表示
∙ string : 待匹配字串
∙ flags : 正則表示式使用時的控制標記

 


re.sub(pattern, repl, string, count=0, flags=0)

在一個字串中替換所有匹配正則表示式的子串,返回替換後的字串
∙ pattern : 正則表示式的字串或原生字串表示
∙ repl : 替換匹配字串的字串
∙ string : 待匹配字串
∙ count : 匹配的最大替換次數
∙ flags : 正則表示式使用時的控制標記

 


 

 

 

 regex = re.compile(pattern, flags=0)

將正則表示式的字串形式編譯成正則表示式物件
∙ pattern : 正則表示式的字串或原生字串表示
∙ flags : 正則表示式使用時的控制標記
>>> regex = re.compile(r'[1‐9]\d{5}')