fun main() {
val regex = Regex("^[a-zA-Z\\s!@#\$%^&*()-_=+\\\\|\\[{\\]};:'\",<.>/?]*\$")
val names = listOf("John Doe", ".Smith", "Alice.", "Doe#Smith", "Doe#Smith99", "65464546499", "MM66M")
for (name in names) {
if (!name.matches(Regex(".*\\d.*")) || regex.matches(name)) {
println("$name is valid")
} else {
println("$name is invalid")
}
}
}
我们期待结果 无名氏有效 .史密斯有效 爱丽丝.已验证 Doe#Smith 有效 Doe#Smith99 无效 65464546499 无效 MM66M无效
但结果是所有值都有效。这里有什么问题
您只需在 if 语句中使用
and
代替 or
我帮你编辑了
fun main() {
val regex = Regex("^[a-zA-Z\\s!@#\$%^&*()-_=+\\\\|\\[{\\]};:'\",<.>/?]*\$")
val names = listOf("John Doe", ".Smith", "Alice.", "Doe#Smith", "Doe#Smith99", "65464546499", "MM66M")
for (name in names) {
if (!name.matches(Regex(".*\\d.*")) && regex.matches(name)) {
println("$name is valid")
} else {
println("$name is invalid")
}
}
}