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
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 : Sélectionner tout - Visualiser dans une fenêtre à part endsWiths(String)
Petit exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(filename.endsWith(".gz")==false){ //ton traitement }
un truc dans ce goût là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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ère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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).
Merci beaucoup pour toutes vos réponses
C'est trés gentil de vos part
Bonne matinée![]()
Partager