早教吧 育儿知识 作业答案 考试题库 百科 知识分享

=^.{8,}$)(?=.*\d)(?=.*\W+)(?[.\n])(?=.*[A-Z])(?=.*[a-z]).*$=就出现了好几次,完全不懂这个式子.

题目详情
=^.{8,}$)(?=.*\d)(?=.*\W+)(?[.\n])(?=.*[A-Z])(?=.*[a-z]).*$
=就出现了好几次,完全不懂这个式子.
▼优质解答
答案和解析
必须大于等于8个字符,必须有数字,必须有小写字母,必须有大写字母,必须有字母数字下划线以外的字符
=.) 这是零宽断言,表示在这个位置之后的字符串必须符合?=后的正则,但(?=...)并不消耗字符,在这之后的正则还是从同一位置开始匹配
=^.{8,}$) 必须有8个以上的字符
=.*\d) 必须有一个数字
=.*\W+) 必须有字母数字下划线以外的字符
![.\n]) !表示否定,=相反,这个表示不能是点和换行符开头的字符串
=.*[A-Z]) 必须有一个大写字母
=.*[a-z]) 必须有一个小写字母
最后的 .*$用于实际匹配字符串,即匹配任意字符串到尾部