【发布时间】:2015-05-26 09:40:10
【问题描述】:
我想为密码创建一个表达式,如下所示:
密码的正则表达式必须包含 8 个字符,以 2 个小写或大写字母开头,包含一个特殊字符 * 和一个 5 位数字。
例如:az*12345
- 必须以 2 个字符开头;
- 仅包含单个
*; - 以 5 位数字结尾。
我已经尝试过这种模式:
(?=(.*[^a-zA-Z]){2})(?=.*[*]{1})(?=(.*\d){5}).{8}$
但是,它产生的结果与上面的正则表达式几乎相同。它以任何字符开头,但我想要上面提到的确切模式。我知道我很接近它。请建议我该怎么做。
【问题讨论】:
-
特殊字符必须是星号 (*) 吗?那么
^[a-zA-Z]{2}\*\d{5}$还不够吗? -
如果您不希望它以任何字符开头,请不要让它以
.*开头。这意味着任何字符零次或多次。 -
感谢保罗.. 太棒了.. 它有效..
-
谢谢 nick.. 这就是解决方案
标签: regex