Regexp с .exec не работает

1

Я хочу сопоставить 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

С уважением

Теги:

1 ответ

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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню