教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

正則表達(dá)式中貪婪模式和非貪婪模式的區(qū)別在哪里?

更新時(shí)間:2021年03月05日17時(shí)55分 來源:傳智教育 瀏覽次數(shù):

(1)問題分析
面試官主要考核應(yīng)聘者對(duì)正則表達(dá)式的了解程度
(2)核心問題講解
在形式上非貪婪模式有一個(gè)“?”作為該部分的結(jié)束標(biāo)志。
在功能上貪婪模式是盡可能多的匹配當(dāng)前正則表達(dá)式,可能會(huì)包含好幾個(gè)滿足正則表達(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é)合項(xiàng)目中使用




猜你喜歡:

complie()函數(shù)預(yù)編譯正則表達(dá)式

Python正則表達(dá)式re模塊常用函數(shù)有哪些?

使用Django中間件的六種方法[python培訓(xùn)]

傳智教育python+數(shù)據(jù)分析課程

0 分享到:
和我們?cè)诰€交談!