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

這篇文章主要介紹“JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配的區(qū)別”,在日常操作中,相信很多人在JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配的區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配的區(qū)別”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)房縣,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

所謂貪婪匹配就是匹配重復(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)威指南》中有這么一句話:正則表達(dá)式的模式匹配總是會尋找字符串中第一個可能匹配的位置。
個人對這句話的理解是:上例中正則表達(dá)式會先找到第一個字符a,因為a后面連接的字符有可能形成匹配,這是正則表達(dá)式就認(rèn)定這個位置的字符了,然后開始往后進(jìn)行匹配,如果像第一個例子中那樣非貪婪匹配,匹配到第一個a就結(jié)束了,但是第二個例子中還要匹配b所以不得不接著往下匹配直到匹配到b為止結(jié)束。

到此,關(guān)于“JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配的區(qū)別”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

當(dāng)前題目:JavaScript正則表達(dá)式的貪婪匹配和非貪婪匹配的區(qū)別
標(biāo)題網(wǎng)址:http://muchs.cn/article46/pidjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站制作、品牌網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、網(wǎng)站營銷、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作