如果与match()一起使用,Regexp不起作用

时间:2013-03-07 20:29:49

标签: javascript

有谁可以告诉我为什么以下不起作用?:

小提琴:http://jsfiddle.net/anderslyman/86NHs/

JavaScript的:

var value = 'lorem ipsum dolor sit amet';
var wordLength = 11;
var find = new RegExp('\b[a-zA-Z]{2,' + wordLength + '}\b');
console.log(value.match(find));
console.log(value.match(/\b[a-zA-Z]{2,11}\b/));

我希望两个console.log()语句输出相同的东西,因为正则表达式是相同的......

1 个答案:

答案 0 :(得分:4)

\ already has special meaning in strings,所以你需要双重逃避它们。

var find = new RegExp('\\b[a-zA-Z]{2,' + wordLength + '}\\b');

http://jsfiddle.net/mattball/35Msf