1. 程式人生 > >關於正則表示式數量詞的貪婪與非貪婪模式

關於正則表示式數量詞的貪婪與非貪婪模式

在匹配正則的時候或許會遇到返回的結果多幾個字元或者少幾個字元,什麼原因呢,這個就是正則的貪婪與非貪婪模式,假設,我的匹配字元是:
a = 'asdf444adfadf   adfsadf'

正則表示式的貪婪模式:

[a-z]{2,6}

列印結果

['asdf', 'adfadf', 'adfsad']

按原理來說在匹配到第二個字元的時候條件就已經滿足了,但是為什麼又繼續往後匹配,這個就是正則表示式複數的貪婪模式,在匹配到第二個的時候發現後面還能繼續滿足條件那麼久會繼續匹配,直到條件不滿足為止。

非貪婪模式跟貪婪模式相反的,理解了貪婪模式那麼非貪婪模式也是類似的

開啟非貪婪模式的話也很簡單,後面加個問號就行

[a-z]{2,6}?