成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - js 正向預(yù)查的正則 匹配不上?

瀏覽:177日期:2023-05-22 15:59:27

問題描述

目的:去除大括號(hào)右邊的空格。下面的可以://第一個(gè)var a = '我是空格 {我是參數(shù)} 我前面 {我是參數(shù)} 有空格 我前面的空格不匹配';hand_trim1(a);function hand_trim1(str){

return str.replace(/(?:})s+/g,’}’);

}

//第二個(gè)var a = '我是空格 {我是參數(shù)} 我前面 {我是參數(shù)} 有空格 我前面的空格不匹配';hand_trim2(a);function hand_trim2(str){

return str.replace(/}s+/g,’}’);

}

//第三個(gè)(這個(gè)為什么就是匹配不上呢????????)var a = '我是空格 {我是參數(shù)} 我前面 {我是參數(shù)} 有空格 我前面的空格不匹配';hand_trim3(a);function hand_trim3(str){

return str.replace(/(?=})s+/g,’’);

}

問題解答

回答1:

正向預(yù)查是零寬,意思就是寬度是0,只是匹配一個(gè)位置,只要這個(gè)位置滿足就可以,并不匹配具體的內(nèi)容;(?=})匹配的位置應(yīng)該是在這個(gè)位置后面有一個(gè)};s+表示從這個(gè)位置起,后面跟著空白符;所以,滿足上面兩個(gè)條件的位置是這個(gè)位置后面的字符即是},又是空白符,因此,這種位置根本不存在,所以不匹配;其實(shí)這個(gè)位置應(yīng)該是左邊是一個(gè)},右邊是s+,但是js沒有負(fù)向斷言,無法預(yù)測(cè)左側(cè)的字符類型。

標(biāo)簽: JavaScript
相關(guān)文章: