我想指定一个正则表达式,用于查找字符串中是否存在任何非字母非数字字符。
基本上我希望它能以任何顺序接受[a-z][A-Z][0-9]
任何组合......。"2a4A44awA"
应该有效。
我该怎么做?
答案 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,即字符串是好的。