需求是将某字符串中的正则特殊字符'{'替换为'\\{'
结果在relpace中报错:unterminated character class,如下代码:
handleRegExp(str){
let newStr=''
let regs=['{','}','[',']','(',')']
for(let reg of regs){
if(str.indexOf(reg)>=0){
let regExp=new RegExp(`(${reg})`,"gi")
newStr = str.replace(regExp,"\\"+reg)
}
}
return newStr
},
因为new RegExp(`(${reg})`,"gi"),报错,可以直接这样处理
handleRegExp(str) {
const reg = /[[($^.\]*\\?+{}\\|)]/gi
return str.replace(reg, (key) => `\\${key}`)
}