前幾天給大家分享了Python正則表達式基礎(一)和Python正則表達式基礎(二),感興趣的小伙伴可以點擊進去學習,今天繼續(xù)給大家分享Python正則表達式基礎。
1、正則表達式特殊字符“+”,其代表的意思“+”號前面的任意字符必須至少出現(xiàn)一次,才能匹配成功。如下圖所示,如果沒有加特殊字符“+”,則按照前面介紹的貪婪模式從右邊進行匹配,輸出的結果為“pp”。
2、現(xiàn)在將匹配模式由之前的“.*(p.*p).*”改為“.*(p.+p).*”,即將特殊字符“*”改為特殊字符“+”,用特殊字符“+”來限定前面的字符出現(xiàn)的次數(shù),至少出現(xiàn)一次。運行程序,得到的結果為“ppp”,如下圖所示。
簡單的來理解一下,首先貪婪模式不在贅述,然后匹配到第一個字符p,之后碰到特殊字符“+”,表示匹配任意字符,但該字符至少出現(xiàn)一次,然后再匹配到第二個字符p,才會提取到匹配的字符串。
3、再次來感受一下,將之前的三個ppp改為現(xiàn)在的php,之后再運行程序,如下圖所示,得到的結果是php。
4、如果將之前的三個ppp改為現(xiàn)在的phhp,會有什么樣的結果呢?如下圖所示,毋庸置疑,答案肯定是phhp。
因為特殊字符“+”號表示只要任意字符至少出現(xiàn)一次,都會被提取出來。
5、簡單的來總結一下,特殊字符“*”和特殊字符“+”都是用來表示字符出現(xiàn)次數(shù)的限定詞,用于限定前面的任意字符出現(xiàn)的次數(shù)。不同的地方在于特殊字符“*”模式下,字符出現(xiàn)的次數(shù)可以是0次或者任意多次,而特殊字符“+”模式下,字符出現(xiàn)的次數(shù)至少是1次。
小伙伴們,關于正則表達式特殊字符“*”和特殊字符“+”的理解,你們get到了吧?
--- End ---