正则表达式与.exec无法正常工作

时间:2017-06-02 19:29:05

标签: javascript regex

我想在regexpexec上匹配3个字母和3个数字。但我没有得到任何结果。知道什么是错的吗?代码是:

var regnr = "This is the pattern to match: WBJ124";
var patt = new RegExp("^\b[a-zA-Z]{3}\d{3}\b*$");
var sequence = '';
var grps = patt.exec(regnr);
if(grps!=null){
  sequence = grps[0];
}

sequence为空,但我希望它为WBJ124

最好的问候

1 个答案:

答案 0 :(得分:2)

在匹配较长字符串中的子字符串时,使用^$等正则表达式中的错误很少。此外,您正在使用接受字符串文字的RegExp对象,因此需要双重转义。

您可以使用:

var regnr = "This is the pattern to match: WBJ124";
var patt = /\b[a-zA-Z]{3}\d{3}\b/; // or new RegExp("\\b[a-zA-Z]{3}\\d{3}\\b")
var grps = patt.exec(regnr);