使用正
則表示式
引入模組
re使用正規表示式引入模組re
使用正則表達
式引入模組re
import re
ⅰ.使
用.co
mpil
e()方
法建立一
個正則表
達式\colorⅰ.使用.compile()方法建立乙個正規表示式
ⅰ.使用.c
ompi
le()
方法建立
乙個正規表示式
pat = re.compile("aa")
如程式碼
所示,p
at只匹
配aa的
部分如**所示,pat只匹配aa的部分
如程式碼所示,
pat只
匹配aa
的部分
ⅱ .使
用.se
arch
()來匹
配\colorⅱ.使用.search()來匹配
ⅱ.使用.s
earc
h()來
匹配
import re
pat = re.compile("aa") #匹配規則
m = pat.search("asdsdaaiaaa") #對"asdsdaaiaaa"進行匹配
配後返回匹配是
否成功,
在哪匹配
等資訊.
匹配後返回匹配是否成功,在哪匹配等資訊.
匹配後返回匹
配是否成
功,在哪
匹配等信
息.而且只匹配第乙個出現位置ⅲ.使
用.fi
ndal
l()方
法來匹配
\colorⅲ.使用.findall()方法來匹配
ⅲ.使用.f
inda
ll()
方法來匹
配 上 面說
到sea
rch(
)只能匹
配第乙個
出現位置
,那fi
ndal
l能匹配
所有位置
上面說到search()只能匹配第乙個出現位置,那findall能匹配所有位置
上面說到se
arch
()只能
匹配第一
個出現位
置,那f
inda
ll能匹
配所有位
置 . fi
ndal
l(字元
串1,字
符串2)
.findall(字串1,字串2)
.finda
ll(字
符串1,
字串2) 其 中字
符串1是
匹配標準
模板,字
符串2是
待匹配的
串其中字串1是匹配標準模板,字串2是待匹配的串
其中字串1
是匹配標
準模板,
字串2是待匹配
的串
import re
print(re.findall("[a-z]","asasasfsaasal")) #模板串使用了正規表示式,匹配乙個大寫字母
再來看乙個
import re
print(re.findall("[a-z]+","asasasfsaasal")) #'+'表示匹配1個或多個
ⅳ .替
換方法.
sub(
)\colorⅳ.替換方法.sub()
ⅳ.替換方法
.sub
() .su
b(串1
,串2,
串3).sub(串1,串2,串3)
.sub(串
1,串2
,串3)
把串3中的串1都替換為串2
最後建議在比較串前面加上r,可以不用擔心轉義的問題如下面的**
python爬蟲 正規表示式
正規表示式是十分高效而優美的匹配字串工具,一定要好好掌握。利用正規表示式可以輕易地從返回的頁面中提取出我們想要的內容。1 貪婪模式與非貪婪模式 python預設是貪婪模式。貪婪模式,總是嘗試匹配盡可能多的字元 非貪婪模式,總是嘗試盡可能少的字元。一般採用非貪婪模式來提取。2 反斜槓問題 正規表示式裡...
Python爬蟲 正規表示式
一般的正規表示式都可直接到正則生成工具處生成,常見匹配字元 re.match及其常規匹配 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match pattern,string,flags 0 返回的為乙個物件,其中span代表長...
Python 爬蟲 正規表示式
常見的正則字元和含義如下 匹配任意字元,除了換行符 匹配字串開頭 匹配字串末尾 匹配括號內表示式,也表示乙個組 s 匹配空白字元 s 匹配任何非空白字元 d 匹配數字,等價於 0 9 d 匹配任何非數字,等價於 0 9 w 匹配字母數字,等價於 a za z0 9 w 匹配非字母數字,等價於 a z...