我不熟悉Java的正则表达式,有人能告诉我如何判断一个字符串是否包含a-z,A-Z,0-9以外的字符吗?
发布于 2012-03-06 12:15:41
使用[^A-Za-z0-9]正则表达式。您可以使用\\W,但这也排除了_字符。
Pattern p = Pattern.compile("[^A-Za-z0-9]");
if (p.matcher(stringToMatch).find()) {
//...
}详细信息可以在这里找到:java.util.regex.Pattern。
发布于 2012-03-06 12:16:08
正则表达式可能是过度杀伤力。如果您可以使用第三方库,那么使用Guava的CharMatcher
return CharMatcher.JAVA_LETTER_OR_DIGIT.negate().matchesAnyOf(string);发布于 2012-03-06 12:18:48
这是甲骨文的Java regex tutorial。
若要专门匹配包含非字母数字字符的字符串,请匹配[^a-zA-Z0-9]。
https://stackoverflow.com/questions/9577791
复制相似问题