【问题标题】:Regex for Password must contain 8 characters, 2 letter both lower or uppercase letters and one special character ' * ' 5 digit number密码的正则表达式必须包含 8 个字符,2 个小写或大写字母和 1 个特殊字符 '*' 5 位数字
【发布时间】: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


【解决方案1】:

如果您只想匹配 [2-letters]+[*]+[5-digits] 模式,这就是您要查找的内容:

^[a-zA-Z]{2}\*[0-9]{5}$.

【讨论】:

    猜你喜欢
    • 2015-01-18
    • 2012-03-17
    • 2021-09-08
    相关资源
    最近更新 更多