溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python正則表達(dá)式初識(shí)(四)

發(fā)布時(shí)間:2020-04-14 03:39:29 來(lái)源:網(wǎng)絡(luò) 閱讀:1042 作者:pengdongcheng 欄目:編程語(yǔ)言

今天繼續(xù)給大家分享Python正則表達(dá)式基礎(chǔ)知識(shí),主要給大家介紹一下特殊字符“{}”的用法,具體的教程如下。


Python正則表達(dá)式初識(shí)(四)


特殊字符“{}”實(shí)質(zhì)上也是一個(gè)限定詞的用法,其限定前面字符所出現(xiàn)的次數(shù),其常用的模式有三種,分別是“{數(shù)字}”、“{數(shù)字,}”和“{數(shù)字1, 數(shù)字2}”。舉個(gè)例子,如“{1}”、“{1,}”和“{1, 3}”。到這里可能大家還不是很清楚,下面依次通過(guò)實(shí)例來(lái)演示一下,加深對(duì)特殊字符“{}”的理解。

1、如下圖所示,限定字符p前面的字符出現(xiàn)1次,則根據(jù)貪婪匹配模式,pap成功匹配到。


Python正則表達(dá)式初識(shí)(四)


2、如果將匹配模式更改為“.*(p.{2}p).*”,則無(wú)任何的輸出,如下圖所示,因?yàn)榇藭r(shí)并沒(méi)有任何的字字符串符合匹配條件。


Python正則表達(dá)式初識(shí)(四)


3、相應(yīng)的,我們將原始字符串做一下更改,如下圖所示,此時(shí)“.*(p.{2}p).*”匹配模式有對(duì)應(yīng)的結(jié)果,如下圖所示。


Python正則表達(dá)式初識(shí)(四)


4、特殊字符“{1,}”代表的是前面的字符出現(xiàn)1次及以上;特殊字符“{2,}”代表的是前面的字符出現(xiàn)2次及以上;特殊字符“{3,}”代表的是前面的字符出現(xiàn)3次及以上;以此類推。舉個(gè)栗子,如下圖所示。


Python正則表達(dá)式初識(shí)(四)


我們要匹配出現(xiàn)p字符前面出現(xiàn)3次及以上的次數(shù),此時(shí)子字符串phhhhp被提取出來(lái),但是pap和paap都沒(méi)有提取到,因?yàn)槠洳粷M足匹配條件。

5、特殊字符“{1, 3}” 代表的是前面的字符至少出現(xiàn)1次,最多出現(xiàn)3次;特殊字符“{2, 5}” 代表的是前面的字符至少出現(xiàn)2次,最多出現(xiàn)5次;以此類推。舉個(gè)栗子,如下圖所示。

當(dāng)使用特殊字符“{1, 3}”的時(shí)候,如下圖所示:


Python正則表達(dá)式初識(shí)(四)


貪婪模式下,字符串從右邊開(kāi)始往左取,首先遇到相對(duì)滿足條件的子字符串是phhhhp,但是并不符合規(guī)則,因?yàn)樵撟幼址霈F(xiàn)的次數(shù)為4次,而限定條件為1次到3次,所以這個(gè)子字符串不符合匹配條件,爾后繼續(xù)往前匹配,得到匹配結(jié)果paap,滿足匹配條件。

6、同理,當(dāng)使用特殊字符“{3, 5}”的時(shí)候,如下圖所示:


Python正則表達(dá)式初識(shí)(四)


根據(jù)上一步的分析可以得知,該匹配結(jié)果為phhhhp。

小伙伴們,關(guān)于正則表達(dá)式特殊字符“{}”的用法,你們get到了嗎?


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI