gpt4 book ai didi

java - 使用正则表达式验证密码(包含字母和数字以及特殊字符)。{8,}

转载 作者:行者123 更新时间:2023-11-29 07:09:40 25 4
gpt4 key购买 nike

我需要知道以下情况下的正则表达式:

  • 至少 8 个字符 ( ... ).{8,}
  • 有字母 (?=.*[a-z|A-Z])
  • 有数字 (?=.*\d)
  • 有特殊字符 (?=.*[~'!@#$%?\\\/&*\]|\[=()}"{+_:;,.><'-])

我在其他正则表达式中得到了以下内容:

((?=.*\d)(?=.*[a-z|A-Z])(?=.*[~'!@#$%?\\\/&*\]|\[=()}"{+_:;,.><'-])).{8,}

但它失败了:

qwer!234

有什么建议吗?

最佳答案

在 Java 正则表达式中,由于字符串转义规则,您需要将反斜杠加倍:

Pattern regex = Pattern.compile("^(?=.*\\d)(?=.*[a-zA-Z])(?!\\w*$).{8,}");

应该可以。

解释:

^              # Start of string
(?=.*\d) # Assert presence of at least one digit
(?=.*[a-zA-Z]) # Assert presence of at least one ASCII letter
(?!\w*$) # Assert that the entire string doesn't contain only alnums
.{8,} # Match 8 or more characters

关于java - 使用正则表达式验证密码(包含字母和数字以及特殊字符)。{8,},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com