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”)