Bonjour
Je chercher une expression reguliere (regex) qui prend les nom de fichiers qui comment par "test_" et qui ne se terminent jamais par ".gz".
Avez vous une idéeee SVP :)
Merci d'avance
Version imprimable
Bonjour
Je chercher une expression reguliere (regex) qui prend les nom de fichiers qui comment par "test_" et qui ne se terminent jamais par ".gz".
Avez vous une idéeee SVP :)
Merci d'avance
Tu pourrais utiliser la méthodede la classe String.Code:endsWiths(String)
Petit exemple:
Code:
1
2
3 if(filename.endsWith(".gz")==false){ //ton traitement }
un truc dans ce goût là
Code:
1
2
3
4
5
6
7
8
9
10
11
12 String[] names = {"test_1.gz", "test_.gz", "test_1.zip", "test_2.x", "test_", "test3.zip"}; String regex = "test_.*"+ // test_..... "(?!\\.gz)"+ // pas extension .gz "\\..+"; // présence d'une extension for (String name:names) System.out.printf("%15s matches %s? %b\n" , name,regex,name.matches(regex));
Code:
1
2
3
4
5
6 test_1.gz matches test_.*(?!\.gz)\..+? false test_.gz matches test_.*(?!\.gz)\..+? false test_1.zip matches test_.*(?!\.gz)\..+? true test_2.x matches test_.*(?!\.gz)\..+? true test_ matches test_.*(?!\.gz)\..+? false test3.zip matches test_.*(?!\.gz)\..+? false
Est ce qu'il y a un avantage particulier (mise à par la flexibilité et le nombre de choix) d'utiliser les expression régulière?
Je trouve cela plus facile à comprendre que les expréssions régulièreCode:
1
2
3
4
5
6
7
8
9 String[] names = {"test_1.gz", "test_.gz", "test_1.zip", "test_2.x", "test_", "test3.zip"}; for (String name:names) if(name.endsWith(".gz")==false) System.out.println(name);
tout à fait d'accord (bien qu'il faille dans le cas présent aussi ajouter le startWith("test_") ). La demnande était une expresion régulière, il a eu un expression régulière :mouarf:
L'expression régulière n'est utile que si les critères sont multiple (évite de lire 50 fois la chaine) ou si il faut récupérer certaines sections de la chaine (via les parenthèses).
Ok merci de ta réponse :ccool:
Merci beaucoup pour toutes vos réponses :)
C'est trés gentil de vos part :)
Bonne matinée ;)