REGEXP : recupérer une chaine entre deux autres chaines
bonjour a tous,
voila mon probleme : j'ai une chaine bordélique du type :
( TYPE:"{http://www.alfresco.org/model/content/1.0}content" AND ((@\{http\://www.alfresco.org/model/content/1.0\}name:ree* OR @\{http\://www.alfresco.org/model/content/1.0\}name:sdf* OR @\{http\://www.alfresco.org/model/content/1.0\}name:sdf* ) (TEXT:ree* OR TEXT:sdf* OR TEXT:sd1f* ))) OR ( TYPE:"{ http://www.alfresco.org/model/content/1.0}folder" AND (@\{http\://www.alfresco.org/model/content/1.0\}name:ree* OR @\{http\://www.alfresco.org/model/content/1.0\}name:sdf* OR @\{http\://www.alfresco.org/model/content/1.0\}name:sdf* ))
et je voudrais recupérer toutes les chaines qui sont entre TEXT: et *
donc dans mon exemple, je recupérai les chaines sdf sd1f et ree.
je pense qu'il faut que j'utilise split de la classe Pattern, mais je n'arrive pas a trouver la bonne expression reguliére :
voici ce que j'ai fait pour l'instant :
Code:
1 2 3 4 5 6 7
| Pattern modele = Pattern.compile(".*(TEXT://.*\\*).*");
String uneChaine = "...";
String[] valeurs = modele.split(uneChaine);
for (int i = 0; i < valeurs.length; i++) {
resultat += valeurs[i] + " ";
System.out.println( " -> " + valeurs[i]);
} |
merci pour votre aide