快捷导航

正则表达式,详细解析一下

正则表达式 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[#%*]).{4,16}$/我知道这是一个4到16密码,请帮我详细解析一下,详细详细。谢谢

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

“^”匹配字符串的开始,“$”匹配字符串的结束。
小括号“()”用来指定子表达式(也叫做分组),{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