Нужно в тексте найти два последовательные цифры, почему нужно писать именно (?=\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. Я просто хочу механику узнать, не могу найти, я так понимаю что он делает, ищет шаблон цифр вначале, но зачем?
Но в примере ниже у Вас что-то гораздо более сложное, там ищется не просто две цифры.
Короче говоря, попробуйте расписать действие каждого элемента выражения, тогда станет ясно.
Да ничего там сложного,
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. Я просто хочу механику узнать, не могу найти, я так понимаю что он делает, ищет шаблон цифр вначале, но зачем?