欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript正則表達式的貪婪匹配和非貪婪匹配

 更新時間:2017年09月05日 09:35:47   作者:白夜行1994  
所謂貪婪匹配就是匹配重復(fù)字符是盡可能多的匹配,非貪婪匹配就是盡可能少的匹配,下面通過一個例子給大家分享JavaScript正則表達式的貪婪匹配和非貪婪匹配,感興趣的朋友參考下吧

所謂貪婪匹配就是匹配重復(fù)字符是盡可能多的匹配,比如:

"aaaaa".match(/a+/); 
//["aaaaa", index: 0, input: "aaaaa"] 

非貪婪匹配就是盡可能少的匹配,用法就是在量詞后面加上一個“?”,比如:

"aaaaa".match(/a+?/); 
//["a", index: 0, input: "aaaaa"] 

但是非貪婪匹配有時候和我們期待的并不一樣,比如:

"aaab".match(/a+b/); 
["aaab", index: 0, input: "aaab"] 
"aaab".match(/a+?b/); 
["aaab", index: 0, input: "aaab"] 

在我們期待的情況下非貪婪匹配應(yīng)該是匹配"ab"才對但是結(jié)果卻和貪婪匹配時一樣的。
在《權(quán)威指南》中有這么一句話:正則表達式的模式匹配總是會尋找字符串中第一個可能匹配的位置。
個人對這句話的理解是:上例中正則表達式會先找到第一個字符a,因為a后面連接的字符有可能形成匹配,這是正則表達式就認(rèn)定這個位置的字符了,然后開始往后進行匹配,如果像第一個例子中那樣非貪婪匹配,匹配到第一個a就結(jié)束了,但是第二個例子中還要匹配b所以不得不接著往下匹配直到匹配到b為止結(jié)束。

總結(jié)

以上所述是小編給大家介紹的JavaScript正則表達式的貪婪匹配和非貪婪匹配,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論