Regex 特定密码正则表达式
我在创建常规表达式时遇到问题。它需要满足以下要求: 1) 有8-12个字符 2) 至少1个大写字母 3) 至少3个小写字母 4) 至少1个 5) 至少1个特殊字符 6) 必须以小写、大写或数字开头Regex 特定密码正则表达式,regex,regular-language,Regex,Regular Language,我在创建常规表达式时遇到问题。它需要满足以下要求: 1) 有8-12个字符 2) 至少1个大写字母 3) 至少3个小写字母 4) 至少1个 5) 至少1个特殊字符 6) 必须以小写、大写或数字开头 7) 最多2个重复字符 提前谢谢 到目前为止你得到了什么? 另外,您使用的是哪一组正则表达式 我从表达式的长度开始 将其限制为8-12,类似于[a-zA-Z]{8,12} 对于第一个方面的要求,您可以使用[]+ 对于其他要求,这是一个小把戏这应该是可行的 ^(?=.*[A-Z])(?=(?:.*[a-
7) 最多2个重复字符 提前谢谢 到目前为止你得到了什么? 另外,您使用的是哪一组正则表达式 我从表达式的长度开始
^(?=.*[A-Z])(?=(?:.*[a-z]){3})(?=.*[0-9])(?=.*[!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~])(?=(?:(.)(?!\1\1))+$)[a-zA-Z0-9].{7,11}$
(?=.[A-Z])(?=(?:.[A-Z]){3})(?=.[0-9])(?=.[!”#$%&'()*+,\-/:;?@[\]^{1}])(?=(?:(?!\1\1))+$)[A-zA-Z0-9]。{7,11}$
解释/扩展
^ # BOS
(?= .* [A-Z] ) # 1 upper
(?=
(?: .* [a-z] ){3} # 3 lower
)
(?= .* [0-9] ) # 1 number
(?=
.* [!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~] # 1 special
)
(?= # Maximum 2 repeating
(?:
( . ) # (1)
(?! \1 \1 )
)+
$
)
[a-zA-Z0-9] # First alnum
.{7,11} # 8 to 12 max chars
$ # EOS
^#BOS
(?=.[A-Z])#1上
(?=
(?:.[a-z]){3}#3更低
)
(?=.[0-9])#1个数字
(?=
.[!“\$%&'()*+,\-./:;?@[\]^{124;}~]\ 1特别
)
(?=#最多2次重复
(?:
( . ) # (1)
(?! \1 \1 )
)+
$
)
[a-zA-Z0-9]#第一个alnum
.{7,11}#最多8到12个字符
$#EOS
*
技术上可行。除非你这么做,否则我不会付出更多的努力。正则表达式不擅长匹配“必须至少包含N个…”为什么不能编写一个子例程来扫描字符串一次,并计算出符合每个所需类别的字符数?最多2个重复字符
-这意味着什么?最多2个重复字符:例如,“密码”是可接受的,“密码剑”是供将来参考的,@IlijaStevanović,请阅读目前如何创建一个:最少8个字符,最多12个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:“^(?=.[a-z])(?=..[a-z])(?=..[a-z])(?=.[$$!%*?&])[a-Za-z$!%*?&]{8,12}”