第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達(dá)式的貪婪\非貪婪模式怎么理解?

正則表達(dá)式的貪婪\非貪婪模式怎么理解?

慕斯王 2018-08-10 09:10:58
最近在學(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>']
查看完整描述

1 回答

?
天涯盡頭無女友

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個贊

d+表示找到一個或多個數(shù)字,但期望的是更長的串;d+?表示去匹配滿足要求的盡可能短的串。

圓括號,表示要捕獲的分組。

在這個例子中,在(\d+)會把102300都匹配完,(0*)因?yàn)榭梢云ヅ淞銈€或者多個0,這里0個0也會被捕獲,所以出現(xiàn)了空串。

In [12]: re.match(r'^(\d+)(0*)$', '102300').groups()
Out[12]: ('102300', '')

在這個例子中,為了匹配到盡可能短的串,就把0分給了后面的(0*)分組了。

In [13]: >>> re.match(r'^(\d+?)(0*)$', '102300').groups()
Out[13]: ('1023', '00')


查看完整回答
反對 回復(fù) 2018-09-23
  • 1 回答
  • 0 關(guān)注
  • 539 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號