如何在特殊字符检测中排除引号、单引号与斜杠?
特殊字符检测正则修改方案
当然可以实现,只需要调整正则表达式,把双引号"、单引号'和斜杠/加入允许的字符集合即可。
原正则表达式[^a-z\d ]的作用是匹配所有不在小写字母、数字、空格范围内的字符,我们只需要把需要排除检测的字符添加到这个集合里,修改后的正则为[^a-z\d '"/]。
修改后的完整代码如下:
val specialChars: Pattern = Pattern.compile("[^a-z\\d '\"/]", Pattern.CASE_INSENSITIVE) val specialCharMatcher: Matcher = specialChars.matcher(text) val hasSpecialChar = specialCharMatcher.find()
说明:
- 正则中的
'和/可以直接写入,不需要转义 - 双引号
"在Kotlin字符串中需要用\"转义,否则会破坏字符串结构 CASE_INSENSITIVE标志依然生效,会同时匹配大写和小写字母
内容的提问来源于stack exchange,提问作者Renz Manacmol
相关产品推荐
相关产品推荐

