【发布时间】:2011-01-22 08:57:43
【问题描述】:
^.(?=.{15,})(?=.\d)(?=.[az])(?=.[AZ] )(?=.[!@#$%^&+=]).*$
这是我目前使用的正则表达式,它将评估每个中的 1 个:上、下、数字和我选择的特殊值。我的问题是如何让它检查其中的每一个?我还问,因为似乎很难为此编写测试用例,因为我不知道它是否只是评估它需要的第一组标准。这是一个密码,但是要求它必须是基于我们正在使用的包的正则表达式形式。
编辑
好吧,我急于验证我忘记验证我的字符串长度的表达式。感谢 Ken 和 Gumbo 帮助我解决这个问题。
这是我正在执行的代码:
我很抱歉,因为正则表达式不是我的领域。
我使用的密码是以下字符串“$$QiouWER1245”,我现在遇到的行为是随机选择通过或失败。对此有什么想法吗?
Pattern pattern = Pattern.compile(regEx);
Matcher match = pattern.matcher(password);
while(match.find()){
System.out.println(match.group());
}
从我看到的结果来看,如果它评估为 true,它将把密码中的值扔回给我,否则它是一个空字符串。
【问题讨论】: