re庫是python的標準庫,主要用於字串匹配。
呼叫方式:
import re
*raw string 型別(原生字串型別):
re庫採用raw string型別表示正規表示式,表示為:r'text'
例如:r'[1-9]\d'
r'\d-\d|\d-\d'
raw string是不包含轉義符的字串
*string型別,更繁瑣。要加轉義符
例如:[1-9]\\d" 其中第乙個\為轉義符
函式說明
re.search()
在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件(找到符合表示式的第乙個字串後終止)
re.match()
從乙個字串的開始位置起匹配正規表示式,返回match物件(從第乙個字元匹配、匹配乙個終止)
re.findall()
搜尋字串,以列表型別返回全部能匹配的子串(匹配到第乙個後第乙個所有的字串不會再次參與匹配)
re.split()
將乙個字串按照正規表示式匹配結果進行分割,返回列表型別
re.finditer()
搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件
re.sub()
在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串
*在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件。
·pattern:正規表示式的字串或原生字串表示
·string:待匹配字串
·flags:正規表示式使用時的控制標記
常用標記
說明re.i re.ignorecase
忽略正規表示式的大小寫,[a-z]能夠匹配小寫字元
re.m re.multiline
正規表示式中的^操作符能夠將給定字串的每行當作匹配開始
re.s re.dotall
正規表示式中的.操作符能夠匹配所有字元,預設匹配除換行外的所有字元
>>> import re
>>> match=re.search(r'[1-9]\d','bit 1000812')
>>> if match:
print(match.group(0))
100081
>>>
*將乙個字串按照正規表示式匹配結果進行分割,返回列表型別
pattern:正規表示式的字串或原生字串表示
string:待匹配字串
maxsplit:最大分割數、剩餘部分作為最後乙個元素輸出
flags:正規表示式使用時的控制標記
>>> import re
>>> re.split(r'[1-9]\d','bit100081 tsss1000844')
['bit', ' tsss', '4']
>>> re.split(r'[1-9]\d','bit100081 tsss1000844',maxsplit=1)
['bit', ' tsss1000844']
>>> re.split(r'[1-9]\d','bit100081 tsss1000844',maxsplit=2)
['bit', ' tsss', '4']
*搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件。
·pattern:正規表示式的字串或原生字串表示
·string:待匹配字串
·flags:正規表示式使用時的控制標記
>>> import re
>>> for m in re.finditer(r'[1-9]\d','bti100081 tsu100084'):
if m:
print(m.group(0))
100081
100084
*在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串。
·pattern:正規表示式的字串或原生字串表示
·repl:替換匹配字串的字串
·string:待匹配字串
count:匹配的最大替換次數
·flags:正規表示式使用時的控制標記
>>> import re
>>> re.sub(r'[1-9]\d',':zipcode','bit100081 tsu100084')
'bit:zipcode tsu:zipcode'
Python爬蟲學習筆記(五)
使用美麗湯爬取三國演義 定位元素和屬性三種方式 beautifulsoup 正則 xpath soup.tagname soup.find soup.find all soup.select import requests from bs4 import beautifulsoup if name ...
Python爬蟲筆記之re查詢
記錄利用re查詢元素的常用方法。a z a z 由字母組成 0 9 由數字組成 d 整數 u4e00 u9fa 中文字元 25 0 5 2 0 4 d 1 d 1 9 d 0 255,由大到小分段 re.search pattern,string,flags 0 返回第乙個查詢結果 match物件 ...
python爬蟲學習(五)
目標 破解有道翻譯介面,抓取翻譯結果 結果展示 請輸入要翻譯的詞語 elephant 翻譯結果 大象 請輸入要翻譯的詞語 喵喵叫 翻譯結果 mews實現步驟 1 瀏覽器f12開啟網路抓包,network all,頁面翻譯單詞後找form表單資料 2 在頁面中多翻譯幾個單詞,觀察form表單資料變化 ...