开发过程中难免有需要进行模糊匹配搜索的地方,但是如果你在使用正则表达式进行模糊匹配,那么,你就需要对特殊字符进行转义,否则,你可以试试模糊匹配以下字符串
let str = "/*";
下面,我们来进行特殊字符的转义
//正则字符串转义
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
//demo
function regexp() {
let array = ["1", "20", "12", "4", "4", "4", "7", "8"];
let result = [];
let str = "1";//模糊匹配的数据
for(let i = 0 ; i < array.length ; i++){
let regItem = new RegExp(escapeRegExp(str))
if(regItem.test(array[i])){
console.log('array-item',array[i])
result.push(array[i]);
}
}
return result;
}
温馨提示:
重构代码的过程中,小步多次修改,可以大大降低代码的错误率!!!