Задать вопрос
@sul_evil

Регулярные выражения, почему нельзя вот так?

Нужно в тексте найти два последовательные цифры, почему нужно писать именно (?=\D*\d{2})? А не просто (?=\d{2}).

let sampleWord = "banan1"; (Your regex should not match the string)
let sampleWord = " bana12"; (Your regex should match the string)
let sampleWord = "1a2bcde"; (Your regex should not match the string)

let pwRegex = /(?=\w{6})(?=\w*\d{2})/;
let result = pwRegex.test(sampleWord);

Он проверяет, есть ли в тексте 6 символов, и в нём же должны быть две цифры идущих последовательно.
Если вводим (?=\D*\d{2}), то возвращает true, а если (?=\d{2}), false. Я просто хочу механику узнать, не могу найти, я так понимаю что он делает, ищет шаблон цифр вначале, но зачем?
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Karpion
Просто - это (\d{2}) .

Но в примере ниже у Вас что-то гораздо более сложное, там ищется не просто две цифры.
Короче говоря, попробуйте расписать действие каждого элемента выражения, тогда станет ясно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы