https://medium.com/@andreknob/breaking-down-a-head-scratcher-regex-for-password-validation-af13e14f0b88