正規表示式的貪婪與非貪婪模式的簡單(易懂)介紹

2021-10-06 04:12:26 字數 791 閱讀 9192

貪婪模式(預設模式):

在正則表達可以成功匹配的前提下,對於表示式中的不確定項,盡可能多的匹配元素,使得匹配到的元素盡可能多。

非貪婪模式(也叫懶惰模式):

在正則表達可以成功匹配的前提下,對於表示式中的不確定項,盡可能少的匹配元素,使得匹配到的元素盡可能少。

如圖,為貪婪模式的匹配結果:

如圖正則是: af 和 fa 之間可以有個非空字元元素

可以看到,第乙個 af 和最後乙個 fa 之間還有乙個 fa ,本可以提前結束匹配,由於正則預設是貪婪模式,所以它會盡可能多的匹配字元元素。

如圖,為懶惰模式的匹配結果:

開啟懶惰模式,只要在 未確定項 後面加是乙個 ? 即可,?是修飾前面的 *;

懶惰模式下,正則會盡可能少的匹配元素字元,所 他匹配出了兩段字元,而且這兩段字元的 af 和 fa 之間絕對會再有 fa 可以提前結束匹配,做到了盡可能少。

以上,是我對於正規表示式 懶惰模式 和 貪婪模式 的理解,可能還比較淺顯,但是絕對簡單,正確,請大家放心「食用」,謝謝。

正規表示式貪婪與非貪婪模式

之前做程式的時候看到過正規表示式的貪婪與非貪婪模式,今天用的時候就想不起來了,現在這裡總結一下,以備自己以後用到注意。1.什麼是正規表示式的貪婪與非貪婪匹配 如 string str abcaxc patter p ab c 貪婪匹配 正規表示式一般趨向於最大長度匹配,也就是所謂的貪婪匹配。如上面使...

正規表示式貪婪與非貪婪模式

1.什麼是正規表示式的貪婪與非貪婪匹配 如 string str abcaxc patter p ab c 貪婪匹配 正規表示式一般趨向於最大長度匹配,也就是所謂的貪婪匹配。如上面使用模式p匹配字串str,結果就是匹配到 abcaxc ab c 非貪婪匹配 就是匹配到結果就好,就少的匹配字元。如上面...

正規表示式的貪婪與非貪婪模式

匹配次數中的貪婪與非貪婪 在使用修飾匹配次數的特殊符號時,有幾種表示方法可以使同乙個表示式能夠匹配不同的次數,比如 具體匹配的次數隨被匹配的字串而定。這種重複匹配不定次數的表示式在匹配過程中,總是盡可能多的匹配。比如,針對文字 d d d 舉例如下 表示式匹配結果 d w w 將匹配第乙個 d 之後...