1. 程式人生 > >正則表示式中的貪婪模式和懶惰模式

正則表示式中的貪婪模式和懶惰模式

1,需求:從這段字串的匹配出<h3></h3>中的內容

<h3>abd</h3><h3>bcd</h3><h3>dfsd</h3>

我們可以寫這兩種正則表示式來實現

1,<h3>.{0,}</h3>    2,<h3>.*</h3>

結果我們發現:預設的貪婪模式只匹配了開頭的<h3>和結尾的</h3>,沒有把中間的每一對標籤的內容匹配出來

我們在後面加個?引數,就啟用了懶惰模式,找到一對就顯示出來,

總結:正則表示式,表示字串重複個數元字元,'?,+,*,{}' 預設都會選擇貪婪模式,會最大長度匹配字串,而要切換到懶惰模式,就只是在該元字元,後面加多一個”?” 即可切換到非貪婪模式(懶惰模式)。