Salut!![]()
En parsant la chaine:
ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String regEx=new String("le premier PATH est : C:/ProgramFile/Bidon/Azerty/Uiop/fichier.txt" + "le second PATH est: D:/Program/Rien/fichier.txt");
le résultat est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Pattern modele=Pattern.compile("([CD]:/)((\\w+/)*)((\\w+)\\.txt)"); Matcher moteur=modele.matcher(regEx); while(moteur.find()){ System.out.println(moteur.group(0)); System.out.println("le lecteur est: "+moteur.group(1)); System.out.println("le chemin relatif est: "+moteur.group(2)); System.out.println("le nom du fichier est: "+moteur.group(3)); System.out.println(moteur.group(4)); }
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 C:/ProgramFile/Bidon/Azerty/Uiop/fichier.txt le lecteur est: C:/ le chemin relatif est: ProgramFile/Bidon/Azerty/Uiop/ le nom du fichier est: Uiop/ fichier.txt D:/Program/Rien/c.txt le lecteur est: D:/ le chemin relatif est: Program/Rien/ le nom du fichier est: Rien/ c.txt
Alors que les groupes sont bien indiqués dans l'expression rationnelle:
groupe 1: ([CD]:/) correspondant au lecteur
groupe 2: ((\\w+/)*) correspondant au chemin
groupe 3: ((\\w+)\\.txt) correspondant au fichier
Ou est l'erreur?
Merci.![]()
Partager