正则表达式匹配始终返回false

时间:2019-06-04 12:52:49

标签: android regex kotlin

我正在尝试验证用户输入,以便字符串中仅允许使用的字符为A-Z,a-z,_,-和空白。为此,我编写了以下代码:

val regex = Regex("[\\w\\s-]")
val flag = regex.matches("Hello Overlay")

但是flag的值是错误的,我不知道为什么。

2 个答案:

答案 0 :(得分:2)

要匹配符合模式的整个字符串,请使用

val regex = Regex("""[\w\s-]+""")

或者,为避免溢出,

matches

请参见Kotlin demo。请注意,[\w\s-]需要完整的字符串匹配,而val regex = Regex("""[\w\s-]+""") val flag = regex.matches("Hello Overlay") println(flag) // => true 仅匹配单个字符。

{{1}}

答案 1 :(得分:0)

val regex = Regex("""[\w\s-]+""")
val flag = regex.matches("Hello Overlay")
println(flag)  // => true