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 :
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\""
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 ").

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 :
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);			
}
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
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
Des idées ? Merci d'avance (et désolé pour la longueur !)