我想用 regexp
和 exec
匹配 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
最好的问候
最佳答案
当您匹配较长字符串中的子字符串时,您在正则表达式中几乎没有错误,例如使用 ^
和 $
。此外,您正在使用接受字符串文字的 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);
关于javascript - .exec 的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336156/