Bonjour à tous,
Je viens vers vous car je n'arrive pas à utiliser correctement les expressions régulières (je n'ai sûrement pas le bon pattern) même après avoir vu pas mal d'exemples...
J'ai la string suivante :
J'aimerai pouvoir récupérer la valeur coucou de mon attribut name dans toutes les occurences trouvées sachant que cette string se trouve dans un fichier texte et donc qu'il n'y a pas de déspécialisation du caractère " (=> pas de \", simplement ").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 String s = "sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\" sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\"sdrgfrfgdgdrgdr gergt dgter gterge trg r name=\"coucou\""
A la rigueur le fait que la string se trouve dans un fichier texte ou non a peu d'importance, car le principe est le même.
J'ai donc utilisé les groupes via le bout de code suivant :
En l'état, le résultat est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private static String myCustomizedPattern = "(((name=)(\")(.*)(\")))"; Pattern p = Pattern.compile(myCustomizedPattern); Matcher m = p.matcher(s); while(m.find()) { XMLContent+="\n"+m.group(5); }
Des idées ? Merci d'avance (et désolé pour la longueur !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 coucou coucou coucou coucou coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou coucou coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou coucou coucou coucou coucou coucou"sdrgfrfgdgdrgdrgergtdgtergtergetrgrname="coucou
Partager