1. 程式人生 > >Python正則表達式初識(四)

Python正則表達式初識(四)

介紹 htbox 更改 三種 https align 條件 限定詞 用法

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

技術分享圖片

特殊字符“{}”實質上也是一個限定詞的用法,其限定前面字符所出現的次數,其常用的模式有三種,分別是“{數字}”、“{數字,}”和“{數字1, 數字2}”。舉個例子,如“{1}”、“{1,}”和“{1, 3}”。到這裏可能大家還不是很清楚,下面依次通過實例來演示一下,加深對特殊字符“{}”的理解。

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

技術分享圖片

2、如果將匹配模式更改為“.*(p.{2}p).*”,則無任何的輸出,如下圖所示,因為此時並沒有任何的字字符串符合匹配條件。

技術分享圖片

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

技術分享圖片

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

技術分享圖片

我們要匹配出現p字符前面出現3次及以上的次數,此時子字符串phhhhp被提取出來,但是pap和paap都沒有提取到,因為其不滿足匹配條件。

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

當使用特殊字符“{1, 3}”的時候,如下圖所示:

技術分享圖片

貪婪模式下,字符串從右邊開始往左取,首先遇到相對滿足條件的子字符串是phhhhp,但是並不符合規則,因為該子字符串出現的次數為4次,而限定條件為1次到3次,所以這個子字符串不符合匹配條件,爾後繼續往前匹配,得到匹配結果paap,滿足匹配條件。

6、同理,當使用特殊字符“{3, 5}”的時候,如下圖所示:

技術分享圖片

根據上一步的分析可以得知,該匹配結果為phhhhp。

小夥伴們,關於正則表達式特殊字符“{}”的用法,你們get到了嗎?

Python正則表達式初識(四)