Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1914 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  ReplaceAll : réutiliser ce qu'on a matché.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ReplaceAll : réutiliser ce qu'on a matché.

n°1606514
axel584
Posté le 30-08-2007 à 19:46:31  profilanswer
 

Bonjour,
Je voudrais remplacer quelque chose de la forme :
 

Code :
  1. <TAG>du texte au pif</TAG> par <span class=tag>du texte au pif</span>


 
Imaginons dans un premier temps que je connaisse la liste des tags possibles, je fais donc un :
 

Code :
  1. chaine.replaceAll("<TAG>(.*)</TAG>","<span class=tag>XXX</span>" );


 
autant de fois que j'ai de tag
 
1ère question : que mettre à la place des XXX pour qu'il récupere ce qu'il a matché dans mon expression régulière ?
 
Deuxième cas de figure, imaginons maintenant que je ne connaisse pas la liste des tags possibles, comment faire en sorte de matcher dans mon expression réguliere la même chose que j'ai déjà :
 

Code :
  1. chaine.replaceAll("<(.*?)>(.*)</YYY>"...


 
2ème question : que mettre à la place des YYY pour qu'il matche deux fois la même chose (sachant bien sur que je peux avoir des tags imbriqués)
 
Que vous ayez la réponse à ma première ou à ma deuxième question, je vous remercie pour votre aide,
 
Axel
 

mood
Publicité
Posté le 30-08-2007 à 19:46:31  profilanswer
 

n°1606521
axel584
Posté le 30-08-2007 à 20:05:47  profilanswer
 

J'ai trouvé la solution à ma première question, il faut utiliser $1
 
Axel

n°1606689
Bidem
Posté le 31-08-2007 à 10:40:19  profilanswer
 

Il faut utiliser une "Back reference"
 
http://java.sun.com/j2se/1.4.2/doc [...] ml#backref
 
Donc, ici, il faut remplacer YYY par \1

n°1608164
axel584
Posté le 04-09-2007 à 16:46:44  profilanswer
 

merci beaucoup


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  ReplaceAll : réutiliser ce qu'on a matché.

 

Sujets relatifs
réutiliser une variable dans une boucle --> global?faire un replaceAll de guillemet
problème trim(), replaceAll()problème de replaceAll avec "&"
equivalent de replaceAll en Oraclerécupérer et réutiliser les paramètres dans un for
Reutiliser les id ?[MySQL] Réutiliser le nom d'une colonne comme donnée
Regexp qui ne matche pas [résolu]expression reguliere replaceAll()
Plus de sujets relatifs à : ReplaceAll : réutiliser ce qu'on a matché.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)