正则表达式匹配带有特殊字符的字符串失败(特殊字符指:.?+$^[](){})
特殊字符有: . ? + $ ^ [ ] ( ) { } | \ /
匹配不成功的⽰例:
const str ='(hehe)43'
const reg =new RegExp(str,'gi')// reg : /(hehe)43/ 括号未做转义处理
console.st(str))// 结果是 falsejquery字符串截取
匹配不成功的原因:str 中的字符串中的特殊字符没有做转义处理
如果想匹配成功,就要先对str中的特殊字符做转义处理
匹配成功的⽰例:
const str ='(hehe)43'
// 对字符串中的特殊字符做转义处理
const str = place(/([*.?+$^(){}|\\/])/g,'\\$1')// str : "\(hehe\)43"
const reg =new RegExp(str,'gi')// reg : /\(hehe\)43/ 括号已做转义处理
console.st(str))// 结果是 true
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论