常用正則表達(dá)式
如果沒猜錯的話當(dāng)大家看了我寫的python爬蟲系列二的話我想你們心中一定有千萬匹馬兒跑過,其實(shí)我想說的是關(guān)于上篇表達(dá)式的內(nèi)容你們只需要了解一下即可因為上篇主要是為了引入一些概念來解釋爬蟲爬的到底是啥,感受感受。那么接下來我就來介紹一些常用的內(nèi)容
\w 匹配字母數(shù)字及下劃線
\W 匹配非字母數(shù)字及下劃線
\s 匹配任意空白字符,等價于 [\t\n\r\f].
\S 匹配任意非空字符
\d 匹配任意數(shù)字,等價于 [0-9].
\D 匹配任意非數(shù)字
re.I 忽略大小寫
re.M 多行模式
re.S 即為 . 并且包括換行符在內(nèi)的任意字符(. 不包括換行符)
集字符[ ]
* 表示一個元素可出現(xiàn)0或多次
+表示出現(xiàn)一次或多次
?非貪婪模式
( )子模式
{ }一個元素或模式出現(xiàn){m,n}m到n次,n可以不寫為至少幾次{m,}
實(shí)戰(zhàn)演練
字符串python
import
re
string
=
'python'
#我們匹配出python
path
=
re
.
compile
(
'p\w\w\w\wn'
,
re
.
I
)
path
.
findall
(
string
)
#這里和re.findall(path,string)是一樣的
這里我們用了\w來匹配。接下來我集字符和*
import
re
string
=
'python'
#我們匹配出python
path
=
re
.
compile
(
'p
[
y
-
z
]
*
thon
,
re
.
I
)
path
.
findall
(
string
)
也可以這樣`
import
re
string
=
'python'
#我們匹配出python
path
=
re
.
compile
(
'p.*'
,
re
.
I
)
path
.
findall
(
string
)
或者
import
re
string
=
'python'
#我們匹配出python
path
=
re
.
compile
(
'py
{
0
,
1
}
.
*
,
re
.
I
)
path
.
findall
(
string
)
接下來是貪婪模式和非貪婪模式(默認(rèn)貪婪)
string= pythonnn
import
re
string
=
'pythonnn'
#我們匹配出python
path
=
re
.
compile
(
'p
.
*
n
,
re
.
I
)
path
.
findall
(
string
)
你會發(fā)現(xiàn)你匹配的是pythonnn
所以我們加個?
import
re
string
=
'python'
#我們匹配出python
path
=
re
.
compile
(
'p
.
*
?n
,
re
.
I
)
path
.
findall
(
string
)
最后請出我們的()
這個是什么呢,演示一下
import
re
string
=
'python'
#我們匹配出ython
path
=
re
.
compile
(
'p(.*)'
,
re
.
I
)
path
.
findall
(
string
)
#改一下又是什么呢我們匹配thon
path
=
re
.
compile
(
'y(.*)'
,
re
.
I
)
path
.
findall
(
string
)
結(jié)果我想你已經(jīng)猜到了吧?來慢慢想一下敲一下。那么常用的基本上就這樣上一篇不要求你一定要記下來但是這一篇如果你想要成為高手,最好記住?。。?
這里還要強(qiáng)調(diào)一個點(diǎn)那就是匹配特殊元素比如www.python.ory中.可以表示任意元素所以它可以和wwwxpythonmory匹配所以要對其轉(zhuǎn)義但是要加\ \轉(zhuǎn)義即 :www\\.python\\.ory或者r’www\.python\.ory’或者直接用re.escape()方法
自動搜索爬蟲
看名字你可能覺得好高大上好像不是我等可以接觸的,其實(shí)不然。現(xiàn)在打開你的瀏覽器
輸入如下內(nèi)容/s wd=python
猜到什么了么??!下篇繼續(xù)(介紹實(shí)戰(zhàn)完urllib.request再來解析庫和request不要著急慢慢來)
日常名言結(jié)束: 經(jīng)驗顯示,成功多因于赤忱,而少出于能力。勝利者就是把自己身體和靈魂都獻(xiàn)給工作的人。—— 查爾斯·巴克斯頓
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
