Обычные выражения JS - PullRequest
0 голосов
/ 09 мая 2020

Может кто подскажет, почему здесь код не работает без \ D? Мне нужно использовать опережающие просмотры в pwRegex для сопоставления паролей длиной более 5 символов, не начинающихся с цифр и имеющих две последовательные цифры.

let sampleWord = "abc123";
var pwRegex =  /^\D(?=\w{5})(?=\w*\d{2})/;
let result = pwRegex.test(sampleWord);    //true 

Спасибо!

1 Ответ

1 голос
/ 09 мая 2020

В регулярном выражении \d соответствует любому символу di git, а \D соответствует любому символу, который является не символом di git. ^ означает начало строки, поэтому ^\D означает, что начальный символ не является di git.

... не начинаться с цифр, ...

\D не должно начинаться с цифр.

...