最近在學(xué)習(xí)Python相關(guān)的正則表達(dá)式,對其中的貪婪和非貪婪模式的概念有點(diǎn)模糊,希望借下面幾個例子,能理解一下它們的區(qū)別:例子1:為何會出現(xiàn)這樣的結(jié)果呢?[out]12為何還多了一個空字符出來呢?In [12]: re.match(r'^(\d+)(0*)$', '102300').groups()
Out[12]: ('102300', '')
In [13]: >>> re.match(r'^(\d+?)(0*)$', '102300').groups()
Out[13]: ('1023', '00')例子2:為什么加了?,得到的結(jié)果就不一樣了呢?In [7]: import reIn [8]: r=re.findall(r'<title.*?\/title>','<title>首頁 - CK的官方網(wǎng)站</title>,<title>首頁 - Michael翔的官方網(wǎng)站</title>')In [9]: rOut[9]: ['<title>首頁 - CK的官方網(wǎng)站</title>', '<title>首頁 - Michael翔的官方網(wǎng)站</title>']In [10]: r=re.findall(r'<title.*\/title>','<title>首頁 - CK的官方網(wǎng)站</title>,<title>首頁 - Michael翔的官方網(wǎng)站</title>')In [11]: rOut[11]: ['<title>首頁 - CK的官方網(wǎng)站</title>,<title>首頁 - Michael翔的官方網(wǎng)站</title>']
正則表達(dá)式的貪婪\非貪婪模式怎么理解?
慕斯王
2018-08-10 09:10:58