【发布时间】:2018-09-30 06:00:22
【问题描述】:
我已经编写了这个正则表达式,我需要针对 Java 中的一组规则进行测试。规则是:
- 至少一个大写字符 (A-Z)
- 至少一个小写字符 (a-z)
- 至少一位数字 (0-9)
- 至少一个特殊字符(标点符号)
- 密码不应以数字开头
- 密码不应以特殊字符结尾
这是我写的正则表达式。
[a-zA-Z\w\D][a-zA-Z0-9\w][a-zA-Z0-9].$
有时有效,有时无效。我不知道为什么!我非常感谢您帮助我解决这个问题。
【问题讨论】:
-
你最后有
.。.匹配任何字符,这违反了 6。在第二对括号后添加*以匹配 0 个或更多字符(现在您只匹配 1 个) -
提供失败案例的例子会很有帮助。
-
另外,任何规定密码不能以什么开头或结尾的东西,都不适用于某些密码管理器