JavaScript正则表达式不匹配,但在使用在线编辑器变量问题时呢?

时间:2017-06-15 07:07:27

标签: javascript regex

我认为它与使用变量有关,当我在线测试时,我不使用变量而且它有效。我没有使用太多的正则表达式,所以我也可以做一些愚蠢的事情。

let home = 'testhome';
let currentHome = 'testhome (8)';
let re = new RegExp(home + ' \(\d+\)');

if (currentHome.match(re)) {
    //no match
} else {
    // this is the code executed
}

任何帮助表示赞赏。 currentHome的括号中可能有多个数字。

1 个答案:

答案 0 :(得分:0)

使用RegExp构造函数时,您应该转义转义字符本身,以便形成正确的reg表达式。

let re = new RegExp(home + ' \\(\\d+\\)');