Это все взгляды (положительные и отрицательные), которые обеспечивают, чтобы следующий текст соблюдал некоторые правила без фактического захвата текста.
# assert that
(?=^.{8,}$) # there are at least 8 characters
( # and
(?=.*\d) # there is at least a digit
| # or
(?=.*\W+) # there is one or more "non word" characters (\W is equivalent to [^a-zA-Z0-9_])
) # and
(?![.\n]) # there is no . or newline and
(?=.*[A-Z]) # there is at least an upper case letter and
(?=.*[a-z]).*$ # there is at least a lower case letter
.*$ # in a string of any characters
(?! ...)
синтаксис для отрицательного предпросмотра (матч, если нет ...), (?= ...)
для положительного опережающего просмотра (матч, если есть ...). Это очень похоже на проверку пароля!
(? =. * [A-Z]) (? =. * [A-z]) означает a-z в нижнем регистре и в верхнем регистре ... что об остальном? – user2947950
Это смотровые утверждения. См. Здесь: http://www.regular-expressions.info/lookaround.html – MElliott
Вставьте свое регулярное выражение там, и оно вам объяснит: http://regex101.com/ – Vache