1. 程式人生 > 其它 >正則表示式(Re庫)入門

正則表示式(Re庫)入門

正則表示式的概念

概念

正則表示式(regularexpression,regex,RE):是用來簡潔表達一組字串的表示式。

應用:最主要應用在字串匹配。

使用

沒編譯前在Python中只是一個字串,只有經過編譯才是有效的表示式。

正則表示式的語法

常用操作符

正則表示式經典例項

匹配IP地址的正則表示式

IP地址分4段,每段0-255。

Re庫的基本使用

Re庫介紹

re是Python的標準庫,主要用於字串匹配。

import re

正則表示式的表達型別

  • raw string型別(原生字串型別):不對轉義字元‘\’進行轉義的字串型別,只需在字串前面加r。
  • string型別:要考慮到轉義字元‘\’,過於繁瑣,不建議。

Re庫的主要功能函式

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

引數 說明
pattern 正則表示式
string 待匹配字串
flags 正則表示式使用時的控制標記

匹配郵政編碼:

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

match()方法必須從頭開始匹配

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

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

引數 說明
maxsplit 最大分割數,剩餘部分作為最後一個元素輸出

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

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

引數 說明
repl 替換匹配字串的字串
count 匹配的最大替換次數

Re庫的另一種等價用法

面向物件用法只需一次編譯,即可多次使用,當正則表示式要多次使用時,能提高效率。

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

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

Re庫的Match物件

Match物件是一次匹配的結果,包含了匹配的很多資訊。

Match物件的屬性

Match物件的方法

Re庫的貪婪匹配和最小匹配

當有長短不一的多個匹配項的時候,匹配哪一個呢?

Re庫預設使用貪婪匹配,即輸出匹配最長的字串。

最小匹配,輸出最短的子串。

最小匹配的操作符

小結

參考
中國大學MOOC——網路爬蟲之實戰