Разная форма записи регулярного выражения - разный результат
Планировал, с помощью регулярного выражения, проверить строку на длину (так надо). Но неожиданно столкнулся с тем, что разная форма записи одного и тогоже регулярного выражения, выдает разный результат.
Почему?
const str = 'qwerty';
console.log(new RegExp('^.{4,15}\\b','g').test(str))
console.log(/^.{4,15}\\b/g.test(str));
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Вы забыли про то, что в литерале экранирование работает по-другому:
/^.{4,15}\\b/g.test('qwerty');
// => false
/^.{4,15}\b/g.test('qwerty');
// => true