2011-02-18 17 views
5

Quiero especificar una expresión regular que encuentre si hay caracteres no numéricos sin números en una Cadena.Expresión regular simple de Java

Básicamente quiero que acepte [a-z][A-Z][0-9] en cualquier orden, cualquier combinación ... es decir "2a4A44awA" debe ser válida.

¿Cómo puedo hacer esto?

Respuesta

7

En lugar de:

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

Partido con:

[a-zA-Z0-9]+ 

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

Oh the plus es lo que me faltaba ... gracias ... – mixkat

+1

@Mixkat, he editado por respuesta para incluir la lista de codiciosos cuantificadores. – jzd

3
String s = ".... ; 

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

devuelve verdadero si el carácter ilegal está presente.

Editar: Pero la primera respuesta de JZD es mejor:

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

devuelve verdadero si el carácter ilegal no presente, es decir, la cadena es buena.

+0

Gracias por la respuesta ... la otra respuesta es de hecho más simple y funciona bien ... bueno ... gracias de todos modos – mixkat

Cuestiones relacionadas