天天看點

Python正規表達式精講

python正規表達式精講

一、什麼是正規表達式

正規表達式,又稱正規表示式、正規表示法、正規表達式、規則表達式、正常表示法(英語:regular expression,在代碼中常簡寫為regex、regexp或re),是計算機科學的一個概念。正規表達式使用單個字元串來描述、比對一系列比對某個句法規則的字元串。在很多文本編輯器裡,正規表達式通常被用來檢索、替換那些比對某個模式的文本。

許多程式設計語言都支援利用正規表達式進行字元串操作。

簡單來說正規表達式就是一個模闆,可以用它比對尋找到我們所需要的内容,如郵件格式,手機号碼的格式要求。

二、正規表達式快速入門

正規表達式的規則很多,對于初學者來說要記住的内容太多。其實可以先掌握幾個基本就夠用了,多應用幾次後再了解其他,就比較快了。

掌握4個符号 : . * + ? ()

1) . 比對除“\n”之外的任意字元

2) * 比對前一個字元0次或無限次

3) ? 比對前一個字元0次或1次

4) + 比對前一個字元1次或無限次

5) () 當我們需要一段内容的時候就用括号包圍起來,不需要的内容放在括号外。

.* 貪心算法,比對出最大滿足條件的。就是能比對到最大的字元串就取到最大的。

.*? 非貪心算法,比對最小的滿足條件的,多次。

以下可以放到熟悉一段時間後了解,寫出來備查。

\ 轉義字元,使後一個字元改變原來的意思

如果要比對出這段網頁的中的圖檔的連結

Python正規表達式精講

正規表達式就是這樣:

img src="(.*?)" class="lessonimg"

括号裡就是我們要取的内容。

如果你想學習python可以來這個群,首先是四七二,中間是三零九,最後是二六一,裡面可以學習和交流,也有資料可以下載下傳。

三、python正規表達式使用

掌握一個方法:findall(): 比對所有符合規律的内容,傳回包含結果的清單。

import re #引入正規表達式# 比對出網頁中的title标簽中的内容title = re.findall('<title>(.*?)</title>',myhtml)

以下方法用得較少,可以放到後面再了解。

search():