正則表示式(Re庫)入門
阿新 • • 發佈:2021-12-24
正則表示式的概念
概念
正則表示式(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——網路爬蟲之實戰