正則如何對匹配到的字符串進行處理

利用正則表達式我們可以很容易的匹配到一些所需的字符串,當(dāng)我們需要對匹配到的一些字符進行處理時,可以參考以下做法。

let str ="{"type":2,"tagName":"script","attributes":{"src":"http://code.jquery.com/js/jquery-latest.js","link ":"http://test.com/home/index/page.html"},"childNodes":[],"id":13}"

Q1:將字符串中的tagName替換成TagName ?

 let reg = new RegExp ("tagName","g")
 let newStr =  str.replace(reg,"TagName ")

Q2 : 將兩個不同的字符串替換成一個:http://code.jquery.com/js以及 http://test.com/index替換成 http://jianshu.com/jshttp://jianshu.com/index?

let url1 = "http://code.jquery.com", url2 = "http://test.com"
let reg = new RegExp(${url1}(/js)|${url2}(/index),"g")
let newStr = str.replace(reg,"http://jianshu.com"+"12")

Q3: 對正則匹配出來的值進行處理?

let str1 = "{"type":2,"tagName":"script","attributes":{"src":"http://jianshu.com/js/jquery-latest.js","link ":"http://jianshu.com/index/page.html"},"childNodes":[],"id":13}" ;

let url3 = http://jianshu.com ;
//匹配出以url3開頭 .js 和.html 結(jié)尾的字符,并刪除url3返回;
let regExp = new RegExp(${url3}(?!(\\.js|\\.html)).+?(\\.js|\\.html), "g")
let newStr = str1.replace(regRxp,replaeFun)

//replaeFun是一個函數(shù)方法,1是 function replaeFun(1){
let p = $1;
return p.replace(url3,"")
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容