^start of string
Positive Lookahead(?=.{12,}) .{12,}any character (except for line terminators), repeated at least 12 times
Comment: at least 12 characters
Positive Lookahead(?=(?:[^a-z]*[a-z]){3,}) Non-Capturing Group(?:[^a-z]*[a-z]){3,} {3,}repeats the group contents below at least 3 times:
Negated Character Class[^a-z]* *matches any number of characters outside the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
Comment: at least 3 lowercase characters
Positive Lookahead(?=(?:[^A-Z]*[A-Z]){3,}) Non-Capturing Group(?:[^A-Z]*[A-Z]){3,} {3,}repeats the group contents below at least 3 times:
Negated Character Class[^A-Z]* *matches any number of characters outside the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
Comment: at least 3 uppercase characters
Positive Lookahead(?=(?:[^0-9]*[0-9]){1,}) Non-Capturing Group(?:[^0-9]*[0-9]){1,} {1,}repeats the group contents below at least once:
Negated Character Class[^0-9]* *matches any number of characters outside the set below:
0-9one character from 0 (4810) to 9 (5710)
0-9one character from 0 (4810) to 9 (5710)
Comment: a number
Positive Lookahead(?=(?:[^ -\/:-@[-`{-~]*[ -\/:-@[-`{-~]){1,}) Non-Capturing Group(?:[^ -\/:-@[-`{-~]*[ -\/:-@[-`{-~]){1,} {1,}repeats the group contents below at least once:
Negated Character Class[^ -\/:-@[-`{-~]* *matches any number of characters outside the set below:
-\/one character from (3210) to / (4710)
:-@one character from : (5810) to @ (6410)
[-`one character from [ (9110) to ` (9610)
{-~one character from { (12310) to ~ (12610)
Character Class[ -\/:-@[-`{-~] -\/one character from (3210) to / (4710)
:-@one character from : (5810) to @ (6410)
[-`one character from [ (9110) to ` (9610)
{-~one character from { (12310) to ~ (12610)
Comment: a special character
.*any character (except for line terminators), repeated any number of times
$end of string, or before its final line terminator
g modifier: global. Finds all matches instead of stopping after the first
x modifier: extended. Ignores unescaped whitespace and comments outside character classes