RegExp.test返回false,即使它应该为true

时间:2015-02-02 11:38:28

标签: javascript regex

我正在尝试将这个简单的代码编写到chrome live test中,并且无法让它返回true。

var regExS = new RegExp("\d+x\d+");
regExS.test(" 240x120 (399.00)");

即使我将值更改为“240x120”,它也会返回false。我一直在谷歌上搜索,无法解决它。

2 个答案:

答案 0 :(得分:1)

如果您要从字符串创建RegExp,则需要对反斜杠进行转义("\d""d"相同):

var regExS = new RegExp("\\d+x\\d+");

或者,您可以使用正则表达式文字:

var regExS = /\d+x\d+/;

答案 1 :(得分:1)

var regExS = new RegExp("\d+x\d+");的结果是/d+xd+/ 从字符串构建正则表达式时,您需要转义反斜杠:

var regExS = new RegExp("\\d+x\\d+");

或者您可以使用正则表达式文字

var regExS = /\d+x\d+/;