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

JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配

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

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

最新評(píng)論