Regexp Java pr vérifier un nom de fichier
ttben1503
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous !
Je suis un peu novice en Java, et dans le cadre de mes études, je dois écrire un petit bout de code Java.
Parmi ce bout de code, il y a le fait de vérifier qu'un nom de fichier est de la forme :
" CTX[un nbr compris entre 1 et 12]-[un chiffre].[un chiffre].[un chiffre]"
Exemple :
CTX1-3.0.0 est correct
CTX0-2.0.1 est incorrect
CTX11-4.2.1 est correct.
J'ai regardé un peu les docs, tuto et autres, mais je ne vois pas en quoi ma regexp est fausse :
(extension[0] = le nom du fichier )
J'ai bien échappé le joker '.' et Eclipse me sort "invalid sequence"
Auriez vous une idée ?
Merci d'avance !
Cordialement,
Je suis un peu novice en Java, et dans le cadre de mes études, je dois écrire un petit bout de code Java.
Parmi ce bout de code, il y a le fait de vérifier qu'un nom de fichier est de la forme :
" CTX[un nbr compris entre 1 et 12]-[un chiffre].[un chiffre].[un chiffre]"
Exemple :
CTX1-3.0.0 est correct
CTX0-2.0.1 est incorrect
CTX11-4.2.1 est correct.
J'ai regardé un peu les docs, tuto et autres, mais je ne vois pas en quoi ma regexp est fausse :
(extension[0] = le nom du fichier )
Pattern pattern = Pattern.compile(extension[0]); Matcher matcher = pattern.matcher("CTX[0-12]-[0-9]\.[0-9]\.[0-9]");
J'ai bien échappé le joker '.' et Eclipse me sort "invalid sequence"
Auriez vous une idée ?
Merci d'avance !
Cordialement,
A voir également:
- Regexp Java pr vérifier un nom de fichier
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
Salut,
Avant de voir ce qui cloche il faut que tu inverses le nom du fichier et le motif
Concernant "invalid sequence" ca signifie que escape n'est pas correcte.
Pour que ce soit possible, il faudrait \\. mais ce serait pour remplacer n'importe quel caractère, donc pas de \. mais . tout seul.
Ensuite, tu dis "CTX[un nbr compris entre 1 et 12]" et pour le motif CTX[0-12]
Cordialement,
Dan
--
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Avant de voir ce qui cloche il faut que tu inverses le nom du fichier et le motif
Pattern pattern = Pattern.compile("CTX[0-12]-[0-9]\.[0-9]\.[0-9]"); // motif Matcher matcher = pattern.matcher(extension[0]);
Concernant "invalid sequence" ca signifie que escape n'est pas correcte.
Pour que ce soit possible, il faudrait \\. mais ce serait pour remplacer n'importe quel caractère, donc pas de \. mais . tout seul.
Ensuite, tu dis "CTX[un nbr compris entre 1 et 12]" et pour le motif CTX[0-12]
Cordialement,
Dan
--
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Ps,
Trop tard pour modifier donc ps:
Ensuite, tu dis "CTX[un nbr compris entre 1 et 12]" et pour le motif CTX[0-12] et comme je pense qu'il s'agit d'un n° de mois c'est le motif qu'il faut modifier !!! CTX[1-12]
Il serait bon de contrôler que le nom du fichier commence bien par CTX en mettant un ^ devant CTX soit "^CTX...
Enfin, il faut afficher le résultat: c'est bon ou pas bon ?
À ton avis que faut-il faire (pas pour afficher mais pour savoir si c'est OK) ?
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Trop tard pour modifier donc ps:
Ensuite, tu dis "CTX[un nbr compris entre 1 et 12]" et pour le motif CTX[0-12] et comme je pense qu'il s'agit d'un n° de mois c'est le motif qu'il faut modifier !!! CTX[1-12]
Il serait bon de contrôler que le nom du fichier commence bien par CTX en mettant un ^ devant CTX soit "^CTX...
Enfin, il faut afficher le résultat: c'est bon ou pas bon ?
À ton avis que faut-il faire (pas pour afficher mais pour savoir si c'est OK) ?
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.