将变量传递给函数中的正则表达式

时间:2013-09-05 15:27:46

标签: javascript regex

尝试将变量传递给强大的正则表达式,我可以让它在函数外部工作,但不知道如何让它在函数内工作,或者为什么它匹配[1]似乎返回null。关于替换的大量信息,但不是在关键字后找到单词。

这是我所拥有的

  var s = 'match my word after this word';
  function returnWordAfter(theSentence, theWord){
    var TheRegEx = new RegExp("/"+theWord+"\s(\w*)/");
    var matches = theSentence.match(TheRegEx, '');
    return matches[1];
  }
  var matchedWord = returnWordAfter(s, "this");
  console.log(matchedWord);

1 个答案:

答案 0 :(得分:0)

不要放置周围的/并转义反斜杠(\):

new RegExp(theWord + "\\s(\\w*)");

var theWord = "hello";
var theRegEx = new RegExp(theWord + "\\s(\\w*)");
"hello world".match(theRegEx) // => ["hello world", "world"]