【发布时间】:2014-11-23 01:13:36
【问题描述】:
if(password.matches("(?=.*[0-9].*[0-9])(\\w{8,})") )
System.out.println("Valid Password");
else
System.out.println("Invalid Password");
我正在检查密码以确保其长度至少为 8 个字符,可以是字母或数字,并且必须至少包含 2 位数字。这似乎对我有用,但我只是想确认我做对了。此外,我一直在努力研究并弄清楚每件作品的确切作用。以下是我认为每个部分都在做的事情,但如果我不正确,请您解释一下特定部分实际上在做什么。谢谢
?= 告诉程序记住是否找到了我正在寻找的数字 [0-9] ?
.* 表示任意数量的 [0-9]?
[0-9] 指定 0-9 之间的任意数字。
.*[0-9] 然后正则表达式从 0-9 寻找另一个数字?
(\\w{8,}) 查找任何字母(大写或小写)和数字,最小长度为 8 个字符?
【问题讨论】:
-
看解释面板:regex101.com/r/dG8zD1/1
-
那个网站太棒了!感谢您的链接。
标签: java regex expression