gpt4 book ai didi

kotlin - 密码正则表达式在 Kotlin 中不起作用

转载 作者:行者123 更新时间:2023-12-02 13:23:26 26 4
gpt4 key购买 nike

我正在尝试运行以下代码以根据我的正则表达式验证密码字符串。但它总是返回错误。我做错了什么?

fun main(args: Array<String>) {
val PASSWORD_REGEX = """^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!\-_?&])(?=\\S+$).{8,}""".toRegex()
val password:String = "Align@123"
println(PASSWORD_REGEX.matches(password))
}

最佳答案

您使用的是原始字符串,但正在转义最后一个 \S,这会导致 \S 的文字匹配。如果我删除多余的反斜杠,您的测试用例对我有用。正如其他人所说,您可以完全删除该节。

所以这个...

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!\-_?&])(?=\\S+$).{8,} 
^
|
Remove -+

变成这样

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!\-_?&])(?=\S+$).{8,}

我用了Regex101帮助我,这似乎是将正则表达式转换为英语的好方法。

关于kotlin - 密码正则表达式在 Kotlin 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49519739/

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