Python正規表示式精講

茶花盛開發表於2017-07-27

Python正規表示式精講

一、什麼是正規表示式

正規表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語:Regular Expression,在程式碼中常簡寫為regex、regexp或RE),是電腦科學的一個概念。正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些匹配某個模式的文字。

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

簡單來說正規表示式就是一個模板,可以用它匹配尋找到我們所需要的內容,如郵件格式,手機號碼的格式要求。

二、正規表示式快速入門

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

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

1) . 匹配除“
”之外的任意字元

2) * 匹配前一個字元0次或無限次

3) ? 匹配前一個字元0次或1次

4) + 匹配前一個字元1次或無限次

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

.* 貪心演算法,匹配出最大滿足條件的。就是能匹配到最大的字串就取到最大的。

.*? 非貪心演算法,匹配最小的滿足條件的,多次。

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

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

如果要匹配出這段網頁的中的圖片的連結

0

正規表示式就是這樣:

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

括號裡就是我們要取的內容。

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

三、Python正規表示式使用

掌握一個方法:findall(): 匹配所有符合規律的內容,返回包含結果的列表。

import re #引入正規表示式# 匹配出網頁中的title標籤中的內容title = re.findall(`<title>(.*?)</title>`,myhtml)

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

search():


相關文章