首先我是一个正则表达式的菜鸟,所以这可能会进一步优化,如果是这样,请告诉我该怎么做。无论如何,在阅读了几篇关于正则表达式的文章后,我写了一个小正则表达式来满足我的密码匹配需求:
(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(^[A-Z]+[a-z0-9]).{8,20}
我要做的是:它必须以大写字母开头,必须包含小写字母,必须至少包含一个数字,必须至少包含一个特殊字符,并且长度必须在 8-20 个字符之间。以上以某种方式起作用,但它不强制使用特殊字符(。似乎匹配任何字符,但我不知道如何将它与积极的前瞻一起使用)并且最小长度似乎是 10 而不是 8。我在做什么错误的?
PS:我正在使用http://gskinner.com/RegExr/进行测试。