Java简单的正则表达式

时间:2011-02-18 13:58:43

标签: java regex

我想指定一个正则表达式,用于查找字符串中是否存在任何非字母非数字字符。

基本上我希望它能以任何顺序接受[a-z][A-Z][0-9]任何组合......。"2a4A44awA"应该有效。

我该怎么做?

2 个答案:

答案 0 :(得分:7)

而不是:

[a-z][A-Z][0-9] 

匹配:

[a-zA-Z0-9]+

来自API:

Greedy quantifiers
X?  X, once or not at all
X*  X, zero or more times
X+  X, one or more times
X{n}    X, exactly n times
X{n,}   X, at least n times
X{n,m}  X, at least n but not more than m times

答案 1 :(得分:3)

String s = ".... ;

System.out.println(s.matches(".*[^a-zA-z0-9].*"));
如果存在非法字符,则

返回true。

编辑:但jzd的第一个答案更好:

s.matches("[a-zA-Z0-9]+");

如果非法字符,则返回true,即字符串是好的。

相关问题