我正在尝试检查字符串是否具有所有禁用字符,例如“ /#$%^&”。 我试图找到一种解决方案,但找不到任何东西,我只想检查字符串中的所有字符是否都与正则表达式模式\ w
相匹配。string.all似乎很完美,但是我无法为其添加正则表达式模式 这是我正在尝试做的事情:
// "abce#ios" must return false because it contains #
// "abcdefg123" must return true
fun checkForChars(string :String) :Boolean {
val pattern = "\\w".toRegex()
return (string.contains(regex = pattern))
}
预先感谢
答案 0 :(得分:2)
您完全不需要在GetDescription()
中使用正则表达式:
all
答案 1 :(得分:1)
您犯了几个错误:
\w
模式正好匹配一个字母,如果要匹配零个或多个字母,则需要将其更改为:\w*
最终的解决方法如下:
fun checkForChars(string :String) :Boolean {
val pattern = "\\w*".toRegex()
return (string.matches(pattern))
}
答案 2 :(得分:1)
您可以使用
Regex("[^/#$%^&]*").matches(string)
检查禁止的字符。
您可以在[^...]*
结构中包含任何禁止使用的字符。尽管需要筛选"
字符,并且需要筛选\
字符两次。 Regex("[^\\\\/#$%^&\"]*")
。
对于\\w*
正则表达式,您可以使用Regex("\\w*").matches(string)