我想将3个字母和3个数字与regexp
和exec
匹配。但是我没有任何结果。知道怎么了?代码是:
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
最好的问候
您的正则错误中的错误很少,例如在较长的字符串中匹配子字符串时使用^
和$
。另外,您正在使用接受字符串字面的 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);