Shown below is the regular expression for
password strength with n number of digits, upper case, special
characters and at least 12 characters in length.
(?=^.{12,25}$)(?=(?:.*?\d){2})(?=.*[a-z])(?=(?:.*?[A-Z]){2})(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$
Explanation:
(?=^.{12,25}$) -- password length range from 12 to 25, the numbers are adjustable
(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1}) -- at least 1 special characters (!@#$%*()_+^&}{:;?.}) , the number is adjustable
(?=(?:.*?\d){2}) -- at least 2 digits, the number is adjustable
(?=.*[a-z]) -- characters a-z
(?=(?:.*?[A-Z]){2}) -- at least 2 upper case characters, the number is adjustable