2011-02-18 6 views
5

문자열에 비 문자가 아닌 문자가 있는지 찾아주는 정규식을 지정하고 싶습니다.자바 간단한 정규식

기본적으로 나는 어떤 순서로든 [a-z][A-Z][0-9]을 받아들이 길 원합니다. 어떤 조합이라도 ... "2a4A44awA"이 유효해야합니다.

어떻게하면됩니까? 와

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

경기 : 다음 API에서

[a-zA-Z0-9]+ 

대신의

답변

7

잘못된 문자가있는 경우

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 
+0

오, 플러스는 내가 놓친 것입니다 .... 감사합니다 ... – mixkat

+1

@Mixkat, 나는 Greedy Quantifiers 목록을 포함하도록 답을 편집했습니다. – jzd

3
String s = ".... ; 

System.out.println(s.matches(".*[^a-zA-z0-9].*")); 

true를 반환합니다.

편집 : 그러나 jzd에서 첫 번째 대답은 더 :

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

true를 돌려줍니다 잘못된 문자 하지 현재, 문자열이 좋다 즉.

+0

답장을 보내 주셔서 감사합니다 ... 다른 답변은 실제로 더 간단하고 잘 작동합니다 ... 음 ... 어쨌든 고마워요. – mixkat