应该是个java正则
应该是个java正则
^[0-9]{6}$##^123456|234567|345678|654321|765432|876543|456789|987654|012345|543210|098765|567890|(\\d{1})\\1\\1(\\d{1})\\2\\2|(\\d{3})\\3|(\\d{1})\\4(\\d{1})\\5(\\d{1})\\6|(\\d{1})(\\d{1})\\7\\8\\7\\8|\\d{1}\\d{1}(\\d{1})\\9{3}|(\\d{1})\\10{3}\\d{1}\\d{1}|(\\d{1})\\11{4}\\d{1}|\\d{1}(\\d{1})\\12{4}$
像是一个猜测弱密码的正则表达式
弱密码指的是一些像连续一样数字,或者简单续列的数字这样的,比如[0-9]{6}就是指6位重复数字,后面列的是一些常用简单密码,123456,234567等等,前面的^表示不能为这些组合,|表示或者,也就是说不可以是|这些项中的任一个,主要后面的(\\d{1})\\1\\1(\\d{1})\\2\\2项可能难以理解,里面涉及一个向后引用的概念(其中的\\应该是\,这里可能是因为在字符串里,所以要用\\来表示\),向后引用的用法是\后加数字,当然这种向后引用必须在前面已经出现了可以被引用的部分才成立,可以被引用的部分就是用()括起来的.所以(\\d{1})\\1\\1(\\d{1})\\2\\2的意思就是:前三位一样,后三位一样的6位数字,比如666888,111222,(\\d{1})表示一个数字,用括号括起来表示可以被引用,后面的\\1表示引用之前的项目,\\1又引用一次,而后面第二个括号表示第2个被引用的项目,\\2表示引用第二个被引用的项目,后面类推.
所以这应该是用来排除弱密码是的一个正则表达式.