這篇文章主要介紹“JavaScript正則表達式的貪婪匹配和非貪婪匹配的區(qū)別”,在日常操作中,相信很多人在JavaScript正則表達式的貪婪匹配和非貪婪匹配的區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript正則表達式的貪婪匹配和非貪婪匹配的區(qū)別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務房縣,十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
所謂貪婪匹配就是匹配重復字符是盡可能多的匹配,比如:
"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"]
在我們期待的情況下非貪婪匹配應該是匹配"ab"才對但是結果卻和貪婪匹配時一樣的。
在《權威指南》中有這么一句話:正則表達式的模式匹配總是會尋找字符串中第一個可能匹配的位置。
個人對這句話的理解是:上例中正則表達式會先找到第一個字符a,因為a后面連接的字符有可能形成匹配,這是正則表達式就認定這個位置的字符了,然后開始往后進行匹配,如果像第一個例子中那樣非貪婪匹配,匹配到第一個a就結束了,但是第二個例子中還要匹配b所以不得不接著往下匹配直到匹配到b為止結束。
到此,關于“JavaScript正則表達式的貪婪匹配和非貪婪匹配的區(qū)別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當前題目:JavaScript正則表達式的貪婪匹配和非貪婪匹配的區(qū)別
標題網(wǎng)址:http://www.chinadenli.net/article46/pidjhg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站制作、品牌網(wǎng)站設計、品牌網(wǎng)站建設、網(wǎng)站營銷、服務器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)