gpt4 book ai didi

java - 正则表达式匹配至少 2 个数字,字符串中任意顺序的 2 个字母

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:37 25 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式来模式匹配(用于密码),其中字符串必须在 8 到 30 个字符之间,必须至少有 2 个数字,至少 2 个字母(不区分大小写),至少 1 个特殊字符字符,没有空格。

我的空格和特殊字符匹配工作正常,但我被抛出 2 位数字和 2 个字母,因为它们不需要连续。

即它应该匹配 a1b2c$ab12$1aab2c$

字母是这样的吗?

(?=.*[a-zA-Z].*[a-zA-Z])  // Not sure.

下面的字符串有效,但前提是 2 个字母连续且 2 个数字连续。如果字母、数字、特殊字符交织在一起,则失败。

(?=^.{8,30}$)((?=.*\\d)(?=.*[A-Za-z]{2})(?=.*[0-9]{2})(?=.*[!@#$%^&*?]{1})(?!.*[\\s]))^.* 

最佳答案

如果你不想让字母必须是连续的 (?=.*[a-zA-Z].*[a-zA-Z])是正确的做法。数字也是如此 (?=.*\\d.*\\d)(?=(.*\\d){2}) .

试试这个正则表达式

(?=^.{8,30}$)(?=(.*\\d){2})(?=(.*[A-Za-z]){2})(?=.*[!@#$%^&*?])(?!.*[\\s])^.*

关于java - 正则表达式匹配至少 2 个数字,字符串中任意顺序的 2 个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15393882/

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