貪婪模式(預設模式):
在正則表達可以成功匹配的前提下,對於表示式中的不確定項,盡可能多的匹配元素,使得匹配到的元素盡可能多。
非貪婪模式(也叫懶惰模式):
在正則表達可以成功匹配的前提下,對於表示式中的不確定項,盡可能少的匹配元素,使得匹配到的元素盡可能少。
如圖,為貪婪模式的匹配結果:
如圖正則是: 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 之後...