關(guān)于正則表達(dá)式的5個小貼士

正則表達(dá)式是一個非常強(qiáng)大的處理字符工具,但有時可讀性很差、晦澀難懂,Jamie Zawinski 說道:

創(chuàng)新互聯(lián)是一家專業(yè)提供文成企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為文成眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

Some people, when confronted with a problem, think, “I know, I’ll use regular expressions.” Now they have two problems.

本來是一個問題,引入正則表達(dá)式之后就成了兩個問題。其實并不是任何場景都需要正則表達(dá)式。在簡單場景,能用字符串自己提供的方法解決問題就沒必要用正則表達(dá)式,比如字符替換

關(guān)于正則表達(dá)式的5個小貼士

判斷字符串是否以某字符開頭

關(guān)于正則表達(dá)式的5個小貼士

re.match() 與 re.search()

re.match 從字符串的起始位置匹配,如果沒匹配成功就不再往后匹配,返回 None。而 search 雖然也是從起始位置開始匹配,但是如果在起始位置沒有匹配,就繼續(xù)往后匹配,直到匹配為止,如果匹配到字符串末尾都沒有匹配則返回 None

關(guān)于正則表達(dá)式的5個小貼士

不分組的括號

我們知道正則表達(dá)式中括號可以用于分組提取,有時我們并不希望括號用于分組該怎么辦,答案是使用 (?:),看一個例子,用正則表達(dá)式提取URL中的各個組成部分

關(guān)于正則表達(dá)式的5個小貼士

關(guān)于正則表達(dá)式的5個小貼士

關(guān)于正則表達(dá)式的5個小貼士

上面雖然寫了7對括號,但其實只有5個分組。下面是不使用 ?:,出現(xiàn)了 7 組數(shù)據(jù)

關(guān)于正則表達(dá)式的5個小貼士

貪婪匹配

正則表達(dá)式默認(rèn)是貪婪匹配的,也就是說它會在滿足匹配條件的情況下盡可能多的匹配字符,例如這里有一段話:

html ="""<div><p>Today a quick article on a nic</p><p>Read more ...</p></div>"""

里面有兩對<p>標(biāo)簽,如果你只想匹配第一對,使用

關(guān)于正則表達(dá)式的5個小貼士

<p>.*</p> 會從第一個<p>開始,匹配到最后一個</p>,如果要想盡可能少匹配則可以在元字符后面加 ?

關(guān)于正則表達(dá)式的5個小貼士

網(wǎng)站標(biāo)題:關(guān)于正則表達(dá)式的5個小貼士
本文來源:http://bm7419.com/article14/geejge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司營銷型網(wǎng)站建設(shè)、做網(wǎng)站、云服務(wù)器、虛擬主機(jī)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化