至少有 10 个数字、12 个大写字母和 10 个小写字母的正则表达式可能是什么?
该字符串可以以上述任何一个开头,并且可以是随机的
放置。例如,AB12jgGGfWisLWfoi34R32SgD42DSf3453jfh
.
I used (?=.*\\d.*\\d)(?![.\\n])(?=.*[A-Z].*[A-Z])(?=.*[a-z].*[a-z]).*$
这是我使用的至少两个大写字母、小写字母和两个数字。但加了10个多余\\d
上面的表达式中的 似乎不是一个好的做法。
此外,使用\\d{10}
与我们期望的连续 10 位数字不同。
您可以使用这个正则表达式:
^(?=(.*?\d){10})(?=(.*?[A-Z]){12})(?=(.*?[a-z]){10})[a-zA-Z0-9]+$
正则表达式演示 https://regex101.com/r/bT3nB2/1
或者甚至更好的正则表达式:
^(?=(?:\D*\d){10})(?=(?:[^A-Z]*[A-Z]){12})(?=(?:[^a-z]*[a-z]){10})[a-zA-Z0-9]+$
这是因为否定模式比惰性量词效果更好.*?
(感谢@nhahtdh)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)