alexandrknyazev13071995
@alexandrknyazev13071995

Почему не могу получить значение из скобок в регулярном выражении при его задании черех new RegExp?

Так все работает:
var allId = allLinks.map(function(el, i){
    //regexp of link with saving of id
    let regexpLinkId = /https:\/\/mysite222.com.\/(\d+)+/;
    //return just id (number)
    return +el.match(regexpLinkId)[1];
});

Меняю определение регулярки на let regexpLinkId = new RegExp('http:\/\/mysite222.com.\/(\d+)+');
Так не работает, а мне нужно так задать, потому что я хочу url вставлять в регулярку с помощью переменной
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tusklozeleniy
Front-end разработчик
let regexpLinkId = new RegExp('http:\\/\\/mysite222.com.\\/(\d+)+');

Вот так должно сработать. Потому что при задании "/" через "\/" в строке символ "\" экранирует следующий за ним. Соответственно, в конструктор уже приходит только "/". Как то так
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы