首頁技術(shù)文章正文

正則表達(dá)式中貪婪模式與非貪婪模式的區(qū)別

更新時間:2021-03-05 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

(1)問題分析
面試官主要考核應(yīng)聘者對正則表達(dá)式的了解程度
(2)核心問題講解
在形式上非貪婪模式有一個“?”作為該部分的結(jié)束標(biāo)志。
在功能上貪婪模式是盡可能多的匹配當(dāng)前正則表達(dá)式,可能會包含好幾個滿足正則表達(dá)式的字符串,非貪婪模式,在滿足所有正則表達(dá)式的情況下盡可能少的匹配當(dāng)前正則表達(dá)式。
(3)問題擴(kuò)展

import re
example = "<li>goods</li><li>name</li>"
# 貪婪模式
greed_pattern = re.compile("<li>.*</li>")
# 非貪婪模式
not_greed_pattern = re.compile("<li>.*?</li>")
greed_result = greed_pattern.search(example)
not_greed_result = not_greed_pattern.search(example)
print(f"貪婪模式:{greed_result.group()}")
print(f"非貪婪模式:{not_greed_result.group()}")
(4)結(jié)合項目中使用




猜你喜歡:

RDD數(shù)據(jù)丟失后如何恢復(fù)?RDD容錯機(jī)制介紹

【mysql第二次安裝不了】mysql安裝失敗怎么清理干凈?

使用compile()函數(shù)編譯正則表達(dá)式【Python技術(shù)文章】

Python+數(shù)據(jù)分析培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!