我要写一个关于以下要求的正则表达式
前三个很容易,但找不到限制至少特殊字符(任何可能的特殊字符,如',":*^%>?
等)的方法。
答案 0 :(得分:2)
您可以通过前瞻的组合来解决这些问题:
(?=.*[a-zA-Z])
(?=.*\d)
.{8}
(?=.*[^\da-zA-Z])
最后一个只需要一个非字母和非数字,这可能是迄今为止最简单的指定你想要一个“特殊”字符的方法。
所以最后你有
^(?=.*[a-zA-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8}$