了解正規表示式中「 」和「*」量詞的差異
在PHP 中使用正規表示式(regex) 時,使用preg_match函數中,程式設計師可能會遇到兩個常見的量詞:' '和'*'。這些量詞指定模式在配對中可以出現的次數。然而,它們的行為之間存在著細微的差異。
' ' 和'*' 之間的差異:
貪婪與非貪婪配對:
預設情況下,量詞是貪婪的。這意味著它們匹配滿足表達式的最大可能的子字串,消耗盡可能多的字元。例如,使用正規表示式 a.*b,它將匹配整個字串“abab”,因為量詞“.”是貪婪的。
使量詞變得不貪婪:
加上 '?'量詞將其行為改為「不貪婪」或「惰性」後的字元 (?)。這會強制量詞匹配滿足表達式的最小可能子字串,從字串末尾開始並向開頭移動:
範例:
考慮以下字串:『abab』
附加說明:
以上是正規表示式中的「`」和「*」量詞有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!