正则表达式,详细解析一下
正则表达式 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[#%*]).{4,16}$/我知道这是一个4到16密码,请帮我详细解析一下,详细详细。谢谢
qq_浑噩的小生活_03409516
浏览 1376回答 3
3回答
-
慕粉3233872
“^”匹配字符串的开始,“$”匹配字符串的结束。小括号“()”用来指定子表达式(也叫做分组),{n,m}表示重复n到m次。(?=exp)正向肯定预查,在任何匹配exp的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。“.”是元字符匹配换行符以外的任意字符,“*”是限定符表示重复零次或更多次,“.*”表示可以匹配任意文本(换行符除外)。“[]”匹配没有预定义元字符的字符集合,[a-zA-Z]表示可以匹配所有大小写字母,[#%*]表示匹配“#”、“%”、“*”。\d匹配一位数字,相当于[0-9]。(?=.*[a-zA-Z])匹配后缀必须是大小写字母;(?=.*\d)匹配后缀必须是数字;(?=.*[#%*])匹配“#”、“%”、“*”。这个表达式的意思是匹配4-16位字符,必须含有以字母、数字、“#”或“%”或“*”结尾的部分。如aBc123%,%2a*
打开App,查看更多内容