python用正規表達式篩選網頁内容的方法
釋出時間:2020-09-02 13:47:51
來源:億速雲
閱讀:101
作者:小新
這篇文章主要介紹了python用正規表達式篩選網頁内容的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章後大有收獲。下面讓小編帶着大家一起了解一下。
一、正規表達式簡述:
什麼是正規表達式?正規表達式就是可以比對文本片段的模式,最簡單的正規表達式就是一個字元串,用于在文本中比對到此字元串自身。
二、常用正規表達式:
設計正規表達式的時候有幾個注意點如下:
a.特殊符号需要加轉移符:如要比對'china.com',則正規表達式格式應為'china\\.com';
b.字元集(使用中括号[]來包含字元串組成字元集):如[a-z]表示比對從a到z之間的字元;此外,還有一個反轉字元集,使用^符号開頭:如[^abc]表示比對除了a、b、c三個字元之外的字元;
c.選擇符:如要比對'python'和'page',寫出來的模式為'python|page',其中‘|’是管道符号;
d.子模式:如‘p(ython|age)’;
e.可選項:在模式後面加上問好(?),那該模式就變成了可選項,即其可能出現在比對到的字元串中,但是并非必須的,如r'(http://)?(www.)?shuhe.com'可比對的結果有:
http://www.shuhe.com、http://shuhe.com、www.shuhe.com、shuhe.com
f.重複子模式:
(pattern)*:允許模式重複0次或多次
(pattern)+:允許模式重複1次或多次
(pattern){m,n}:允許模式重複m~n次
例如:r'w*\.python\.org'比對'www.python.org'、'.python.org'、'wwwwww.python.org'
r'w+\.python\.org'比對'w.python.org';但不比對'.python.org'
r'w{3,4}\.python\.org'隻能比對'www.python.org'和'wwww.python.org'
三、re模闆的使用:
在python中封裝了一些常用的正規表達式在re模闆中,使用時隻需将該模闆引入到目前項目中即可:
上述是re中常用的正規表達式,使用步驟為:
1.先将正規表達式的字元串形式編譯為Pattern執行個體;
2.然後使用Pattern執行個體處理文本并獲得比對結果(一個Match執行個體);
3.最後使用Match執行個體獲得資訊,進行其他的操作。
例如:# encoding: UTF-8
import re
# 将正規表達式編譯成Pattern對象
pattern = re.compile(r'hello')
# 使用Pattern比對文本,獲得比對結果,無法比對時将傳回None
match = pattern.match('hello world!')
if match:
# 使用Match獲得分組資訊
print match.group()
### 輸出 ###
# hello
感謝你能夠認真閱讀完這篇文章,希望小編分享python用正規表達式篩選網頁内容的方法内容對大家有幫助,同時也希望大家多多支援億速雲,關注億速雲行業資訊頻道,遇到問題就找億速雲,詳細的解決方法等着你來學習!