天天看點

python網頁正規表達式_python用正規表達式篩選網頁内容的方法

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模闆中,使用時隻需将該模闆引入到目前項目中即可:

python網頁正規表達式_python用正規表達式篩選網頁内容的方法

上述是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用正規表達式篩選網頁内容的方法内容對大家有幫助,同時也希望大家多多支援億速雲,關注億速雲行業資訊頻道,遇到問題就找億速雲,詳細的解決方法等着你來學習!