首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝包含a-z、A-Z、0-9以外的字符的字符串

问拒绝包含a-z、A-Z、0-9以外的字符的字符串
EN

Stack Overflow用户
提问于 2012-03-06 12:13:04
回答 4查看 14.1K关注 0票数 2

我不熟悉Java的正则表达式,有人能告诉我如何判断一个字符串是否包含a-z,A-Z,0-9以外的字符吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-06 12:15:41

使用[^A-Za-z0-9]正则表达式。您可以使用\\W,但这也排除了_字符。

代码语言:javascript
复制
Pattern p = Pattern.compile("[^A-Za-z0-9]");
if (p.matcher(stringToMatch).find()) {
    //...
}

详细信息可以在这里找到:java.util.regex.Pattern。

票数 12
EN

Stack Overflow用户

发布于 2012-03-06 12:16:08

正则表达式可能是过度杀伤力。如果您可以使用第三方库,那么使用Guava的CharMatcher

代码语言:javascript
复制
return CharMatcher.JAVA_LETTER_OR_DIGIT.negate().matchesAnyOf(string);
票数 1
EN

Stack Overflow用户

发布于 2012-03-06 12:18:48

这是甲骨文的Java regex tutorial。

若要专门匹配包含非字母数字字符的字符串,请匹配[^a-zA-Z0-9]。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9577791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档