Scrivere una semplice regex, ma non sono mai stato molto bravo in questo.Java Regex a-z, A-Z, 0-9 e (.) (_) (-)
Quello che sto cercando di fare è controllare una stringa (nome file) per assicurarsi che contenga solo a-z, A-Z, 0-9 o i caratteri speciali underscore (_) punto (.) O trattino (-).
Ecco quello che ho
if(filename.length() < 1 || !filename.matches("^[a-zA-Z0-9[.][_][-]]+"))
return false;
else
return true;
Questo sembra funzionare, ma non ha un aspetto molto elegante per me. C'è un modo migliore/più leggibile per scrivere questo?
Grazie in anticipo! Sto solo cercando di imparare a scrivere questi buggers meglio.
-Will
Altri hanno risposto alla domanda regex bene, ma io sono curioso di sapere perchè si controlla la lunghezza della stringa è maggiore di 1. Se la stringa è "", non può corrispondere ' "^. +"' – kojiro
Buon punto È stato lasciato da una precedente implementazione. Grazie! –