Javascript 联接正则表达式数组
我有一个单词数组,例如苹果、香蕉、马,我想在以后的函数中用它们作为分割点 我发现了如何处理正则表达式的方法,但它适用于固定数量的表达式: 问题: 如何联接正则表达式数组Javascript 联接正则表达式数组,javascript,regex,Javascript,Regex,我有一个单词数组,例如苹果、香蕉、马,我想在以后的函数中用它们作为分割点 我发现了如何处理正则表达式的方法,但它适用于固定数量的表达式: 问题: 如何联接正则表达式数组 filterTemp = []; for (i = 0, len = filterWords.length; i < len; i++) { word = filterWords[i]; filterTemp.push(new RegExp("\b" + word + "\b")); } filter = new
filterTemp = [];
for (i = 0, len = filterWords.length; i < len; i++) {
word = filterWords[i];
filterTemp.push(new RegExp("\b" + word + "\b"));
}
filter = new RegExp(filterTemp.source.join("|"), "gi");
return console.log("filter", filter);
filterTemp=[];
for(i=0,len=filterWords.length;i
您不需要在内部循环中构造RegExp
只需将字符串推入临时数组,然后在外部仅使用join
一次即可构造RegExp
对象:
var filterWords = ['abc', 'foo', 'bar'];
var filterTemp = [];
for (i = 0, len = filterWords.length; i < len; i++) {
filterTemp.push("\\b" + filterWords[i] + "\\b");
}
filter = new RegExp(filterTemp.join("|"), "gi");
console.log("filter", filter);
//=> /\babc\b|\bfoo\b|\bbar\b/gi
var filterWords=['abc','foo','bar'];
var filterTemp=[];
for(i=0,len=filterWords.length;i/\babc\b |\bfoo\b |\bbar\b/gi
filterTemp.push(新的RegExp(“\\b”+word+”\\b”)代码>请注意,filter=newregexp(filterTemp.source.join(“|”),“gi”)代码>应该是filter=newregexp(filterTemp.join(“|”),“gi”)代码>