(? = ^. {8} $)
This part means 8 more characters, and the match starts at the beginning of the input.
((? =. * \ D)
The tool contains a number.
| (?. = * \ W +))
Or contains something that is neither a letter nor a number
(?! [.\P])
not starting with a newline or UNIX.
(? =. * [AZ])
Contains at least one uppercase letter.
(? =. * [A-d])
Contains at least one lowercase letter
. * $
It consists solely of characters other than a newline, and the consistent group will contain the entire line.
source share