5
我想指定一个正则表达式来查找在String中是否有非字母非数字字符。Java简单正则表达式
基本上我希望它以任何顺序接受[a-z][A-Z][0-9]
任意组合..i.e "2a4A44awA"
应该是有效的。
我该怎么做?
我想指定一个正则表达式来查找在String中是否有非字母非数字字符。Java简单正则表达式
基本上我希望它以任何顺序接受[a-z][A-Z][0-9]
任意组合..i.e "2a4A44awA"
应该是有效的。
我该怎么做?
相反的:
[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
String s = ".... ;
System.out.println(s.matches(".*[^a-zA-z0-9].*"));
返回true。
编辑:但从JZD第一个答案是更好:
s.matches("[a-zA-Z0-9]+");
返回true非法字符不存在,即在串好。
哦,加号是我失踪....谢谢... – mixkat 2011-02-18 14:04:02
@Mixkat,我编辑的答案包括贪婪量词列表。 – jzd 2011-02-18 14:05:50