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

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

python 正則如何匹配最近的字符

python 正則如何匹配最近的字符

慕運維8079593 2019-04-08 11:17:10
ab正則表達式是:(.*)我期待出現(xiàn):["a","b"]可是結(jié)果是:["ab"]
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

python的正則默認是貪婪(greedy)的(事實上大多數(shù)正則的實現(xiàn)都這麼默認)。
你的例子中有兩個<\/td>,所以有兩種匹配,匹配到第一個,那就是你期望的結(jié)果["a","b"],匹配到第二個,那就是實際的結(jié)果,["ab"]。後者比前者長,所以最終匹配結(jié)果是第二個。這就是所謂的貪婪模式,找最長的匹配。
你需要的是非貪婪(non-greedy)模式,也叫最?。╩inimal)模式,也就是匹配盡可能短的字符串。很簡單,只要加上一個?即可,也就是說改成(.*?)<\/td>。
當(dāng)然,非貪婪可能有性能問題。我不知道python有沒有針對這方面的優(yōu)化。就你的問題而言,用貪婪模式也可以實現(xiàn),比如([^<]*)<\/td>。
                            
查看完整回答
反對 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 1473 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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