正則表達式中,如何獲取括號中的內容,不包含括號和單引號


語法

.表示除\n之外的任意字符
+匹配前面的子表達式一次或多次。
(?<=exp)是以exp開頭的字符串, 但不包含本身。
(?=exp)就匹配為exp結尾的字符串, 但不包含本身。
注:語句外面的括號不可省略
g匹配全局

 

實現

1、獲取括號的內容,包換括號

var str="123{456}hhh[789]zzz[yyy]bbb(90ba)kkk";
var regex1 = /\((.+?)\)/g;   // () 小括號
var regex2 = /\[(.+?)\]/g;   // [] 中括號
var regex3 = /\{(.+?)\}/g;  // {} 花括號,大括號

// 輸出是一個數組
console.log(str.match(regex1)); //['(90ba)']
console.log(str.match(regex2));//['[789]', '[yyy]']
console.log(str.match(regex3));//['{456}']

2、獲取括號的內容,不包含括號

也就是將\((?<=\()替換,\)(?=\))替換,其他括號同理。

var str2="123{456}hhh[789]zzz[yyy]bbb(90ba)kkk";
var regex11 = /(?<=\()(.+?)(?=\))/g;   // () 小括號
var regex22 = /(?<=\[)(.+?)(?=\])/g;   // [] 中括號
var regex33 = /(?<=\{)(.+?)(?=\})/g;  // {} 花括號,大括號

// 輸出是一個數組
console.log(str2.match(regex11)); //['90ba']
console.log(str2.match(regex22));//['789', 'yyy']
console.log(str2.match(regex33));//['456']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM