Escribo una expresión regular simple, pero nunca he sido muy bueno en esto.Java Regex a-z, A-Z, 0-9 y (.) (_) (-)
Lo que intento hacer es verificar una cadena (nombre de archivo) para asegurarme de que solo contiene a-z, A-Z, 0-9 o los caracteres especiales de subrayado (_) punto (.) O guión (-).
Aquí es lo que tengo
if(filename.length() < 1 || !filename.matches("^[a-zA-Z0-9[.][_][-]]+"))
return false;
else
return true;
Esto parece funcionar, pero no se ve muy elegante para mí. ¿Hay alguna forma mejor/más legible de escribir esto?
¡Gracias de antemano! Solo trato de aprender a escribir mejor estos insectores.
-Will
Otros han respondido a la pregunta de expresiones regulares también, pero tengo curiosidad por la que comprueba la longitud de la cadena es mayor que 1. Si la cadena es "", no puede coincidir con ' "^. +" ' – kojiro
Buen punto. Fue sobrante de una implementación anterior. ¡Gracias! –