Python爬蟲(一) 正規表示式基礎

2021-10-09 05:06:55 字數 1499 閱讀 3333

這塊內容並沒有詳細的正規表示式內容,作者知識儲備不足是其一,專案中用不上是其二。

基本示例
import re                                #引入re正規表示式庫

matching_rule = re.compile("asd") #定義正規表示式規則

search_result = matching_rule.findall("asd, asdasd, and asdasdasd in a string waiting for searching") #利用規則搜尋字串

print(search_result) #輸出結果

輸出結果:['asd', 'asd', 'asd', 'asd', 'asd', 'asd']

匹配規則

函式:規則變數名 = re.compile("規則內容")

正規表示式規則參考:十四個

常用正規表示式

規則內容舉例

a = re.compile("a")        //匹配所有a字元

b = re.compile("a+") //匹配所有a, aa, aaa, aaaa...字串

c = re.compile("asd*") //匹配所有as, asd, asdd, asddd...字串

d = re.compile("(asd)+") //匹配所有asd, asdasd, asdasdasd...字串

e = re.compile('"') //匹配雙引號"

f = re.compile('"(.*)"') //匹配所有雙引號中的字串,如字串"asd",則匹配asd

以規則 f 為基礎搜尋,假設要搜尋超連結的連線,通過html的語法可以知道,超連結是使用

首頁的格式寫的,其中,超連結的內容位於 href = "這裡"

那麼,匹配規則為

rule = re.compile('href = "(.*)"')

這裡要注意,規則外是用單引號 ' ,這是因為要匹配的文字中含有雙引號 "

通過這個規則,匹配結果是

此外,為了防止轉義字元的影響,一般使用 r"" ,而不是 ""

print(r"\\aa") 輸出結果為\\aa

print("\\aa") 輸出結果為\aa

搜尋函式

函式:規則變數名.findall(待匹配字串)

findall匹配所有符合規則的字元

findall最終會返回乙個列表,例如

web_data = "首頁"

rule = re.compile('href = "(.*)"')

result = rule.findall(web_data)

print(result)

會返回乙個只有乙個元素的列表

['']

python筆記一(正規表示式)

1 usr bin env python2 coding utf 8 34 1 如果直接給出字元,則表示精確匹配5 2 d 表示數字,w 表示字母或數字,可以匹配任意字元,s 表示空白符,包括tab6 3 表示任意長度,表示至少乙個字元,表示0或1個字元,表示n個字元,表示n到m個字元7 如 d s...

一 正規表示式基礎

正規表示式是一種用來匹配字串的強有力的 設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,就認為它 匹配 否則就不匹配。行定位符用來描述字串的邊界。表示行的開始,表示行的結束。例如 若要匹配以am開頭的字串,則是 am 若要匹配以am結尾的字串,則是am 其中 放在方括號裡,表示...

mysql學習(一)正規表示式

mysql可以通過 like 來進行模糊匹配 mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配 模式描述 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。...