0
var myMatch1 
var myMatch2

是 .match 的输出。匹配项以单词、单词、单词的形式出现

我想用

var newMatch1 = new RegExp(myMatch1, "gi"); 
var newMatch2 = new RegExp(myMatch2, "gi"); 

document.write(newMatch1.exec(newMatch2));

但是,这只会进行完全匹配。我真的希望newMatch1andnewMatch2被表达(/word|word|word/gi),(即匹配任何找到的单词)。

我将如何编写 var newMatch 来做到这一点?

编辑: varsmyMatch1并且myMatch2不是数组,它们实际上是从 URL 中找到的关键字匹配项。找到的任何匹配项都表示为word1, word2, word3。我需要在另一场比赛中使用这些比赛,因此使用 varsnewMatch1newMatch2. 我不想在new RegExpas中表达这些词word1, word2, word2,它们需要表达为word1|word2|word3

谢谢

4

1 回答 1

0

您的问题很难理解,但您可以使用字符串连接和RegExp构造函数来构建您的正则表达式

 var re = new RegExp( myMatch1 + '|' + myMatch2, 'gi' );
 var newMatch = str.match( re );
于 2013-02-23T19:22:41.387 回答