[Java] Besoin d'aide avec Regex

Besoin d'aide avec Regex [Java] - Java - Programmation

Marsh Posté le 04-05-2004 à 15:03:18    

:hello:
 
J'ai un probleme, je voudrais avoir les deux contenus entre les balises <TP> et </TP>
 

Citation :


<TP>
 <NOM>TP sur l'électricité</NOM>
 <CLASSE>Terminale physique</CLASSE>
 <PDF>file.pdf</PDF>
 <WAV>file1.wav</WAV>
 <WAV>file2.wav</WAV>
 <AVI>file1.avi</AVI>
 <DATA>file1.dt</DATA>
 <DATA>file2.dt</DATA>
</TP>
 
<TP>
 <NOM>TP sur la chimie</NOM>
 <CLASSE>Terminale chimie</CLASSE>
 <PDF>file.pdf</PDF>
 <WAV>file1.wav</WAV>
 <WAV>file2.wav</WAV>
 <AVI>file1.avi</AVI>
 <DATA>file1.dt</DATA>
 <DATA>file2.dt</DATA>
</TP>


 
J'utilise l'expression réguliere <TP>(.*)<TP> en utilisant le flag DOTALL pour que les retour chariots soient inclus
 
Seulement voila, avec ca je me retrouve avec les données entre le premier <TP> et le dernier </TP> comme suit :
 

Citation :


 <NOM>TP sur l'électricité</NOM>
 <CLASSE>Terminale physique</CLASSE>
 <PDF>file.pdf</PDF>
 <WAV>file1.wav</WAV>
 <WAV>file2.wav</WAV>
 <AVI>file1.avi</AVI>
 <DATA>file1.dt</DATA>
 <DATA>file2.dt</DATA>
</TP>
 
<TP>
 <NOM>TP sur la chimie</NOM>
 <CLASSE>Terminale chimie</CLASSE>
 <PDF>file.pdf</PDF>
 <WAV>file1.wav</WAV>
 <WAV>file2.wav</WAV>
 <AVI>file1.avi</AVI>
 <DATA>file1.dt</DATA>
 <DATA>file2.dt</DATA>


 
Au lieu de me trouver la balise </TP> la plus proche il me prend celle de la fin de la chaîne..
 
Quelqu'un à une solution ?
 
Merci ;)


Message édité par xavier- le 04-05-2004 à 15:10:53
Reply

Marsh Posté le 04-05-2004 à 15:03:18   

Reply

Marsh Posté le 04-05-2004 à 16:00:06    

prendre un parser xml ?

Reply

Marsh Posté le 04-05-2004 à 16:17:23    

Est ce indispensable ? à la base je ne comptais pas utiliser du xml. Je collecte un nombre d'informations sur les produits de l'entreprise ou je travaille dans des fichiers, je récupere ensuite ces informations et je fabrique une page html avec. J'ai mis ces balises la mais je pourrais en mettre d'autres
 
J'ai donc utilisé les expressions regulieres, seulement voila j'en ai faite un peu en perl en cours, la je fais ca en java et je trouve pas de nombreux exemples c'est vraiment pas aidant.. Ca fait 2 heures que je bloque la dessus je commence à craquer

Reply

Marsh Posté le 04-05-2004 à 17:13:01    

<TP>(.+?)<\/TP>
 
?


Message édité par Freekill le 04-05-2004 à 17:13:12
Reply

Marsh Posté le 04-05-2004 à 17:17:23    

Ca marche, merci beaucoup freekill, tu me rend un grand, grand sercice la :)

Reply

Marsh Posté le 04-05-2004 à 17:18:23    

De rien ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed