我无法获得一个regexp来检查密码是否至少有一个数字可以工作。 这已在各地得到解答,但如果分手,所有答案都会停止工作。 例如,如果我删除了这个Working Password Validation:
(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])
这
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$
为了检查单个数字的存在,整个过程停止工作
我是正规表达的新手,这似乎有意义,但它没有,如果可以,请告诉我光。
答案 0 :(得分:0)
我不确定你的意思整个事情停止工作。
(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])
上述所有内容的任务是:
@#$%^&+=
必须至少出现一次因此,没有理由将它们取出应该破坏任何东西 - 它们本质上是独立的组件。
有多种方法可以检查String
是否包含数字。您想要检查的方式取决于您的具体要求。所呈现的正则表达式中使用的方法通过积极展望来实现:^(?=.*[0-9])
^:以
则表示匹配
开始 。*:匹配0个或更多非换行符 [0-9]:是一个匹配数字[0,1,2,...,9]的字符类 ?=是正向前看,在这种情况下,如果存在至少一个数字
希望有所帮助。您可以从Oracle's Tutorial on Regular Expressions开始。在您消化之后,我相信您将能够通过Google找到更多高级资源。