2009-09-11 9 views
0

Je voudrais extraire des éléments de cet exemple html, plus specificly, je voudrais isoler les suivantes: algp1, PRODUCTION GEN_APPL KANTOORExtraire des données avec regex de html

<table width="95%" border="1"> 
<tr><td colspan=3><a name="algp1"></a><img src="menu/db2inst.jpg"> <font color="#FF0000" size="+1">algp1</font> (PRODUCTION, 50733)</td></tr> 
<tr><td width="20%" valign=top><a name="GENAPPLP"></a><img src="menu/db2db.jpg"><font color="#00CC00"><b> GEN_APPL</font></b><br>(GENAPPLP)</td><td width="15%" valign=top>PARK</td><td width="70%" valign=top><font size="2">BOOKINGCARPARKING&sbquo; CUSTOMERS&sbquo; </font></td></tr> 
<tr><td width="20%" valign=top></td><td width="15%" valign=top>RDC</td><td width="70%" valign=top><font size="2">DBREL_SCHEMA_RDCPROJECT&sbquo; DBVERSION&sbquo; </font></td></tr> 
<tr><td width="20%" valign=top><a name="KANTOORP"></a><img src="menu/db2db.jpg"><font color="#00CC00"><b> KANTOOR</font></b><br>(KANTOORP)</td><td width="15%" valign=top>CDDB</td><td width="70%" valign=top><font size="2">BATIMENTS&sbquo; BATIMENTS_EXC&sbquo; OFFICES&sbquo; OFFICES_EXC&sbquo; RECETTES&sbquo; RECETTES_EXC&sbquo; </font></td></tr> 
<tr><td width="20%" valign=top></td><td width="15%" valign=top>IDR</td><td width="70%" valign=top><font size="2">ADMINISTRATION&sbquo; ADMINISTRATION_EXC&sbquo; ARROND&sbquo; ARROND_EXC&sbquo; BUREAU&sbquo; BUREAU_EXC&sbquo; CODEX&sbquo; CODEX_EXC&sbquo; COMMUNE&sbquo; COMMUNE_EXC&sbquo; COMPETENCE&sbquo; COMPETENCE_EXC&sbquo; COMPTE&sbquo; COMPTE_EXC&sbquo; LNKBCC&sbquo; LNKBCC_EXC&sbquo; LNKBCI&sbquo; LNKBCI_EXC&sbquo; LNKBPC&sbquo; LNKBPC_EXC&sbquo; LNKBS&sbquo; LNKBS_EXC&sbquo; LNKCBRR&sbquo; LNKCBRR_EXC&sbquo; LNKCS&sbquo; LNKCS_EXC&sbquo; MAP_CP_BUREAU&sbquo; PAYS&sbquo; PAYS_EXC&sbquo; PROVINCE&sbquo; PROVINCE_EXC&sbquo; RANGE_RUE&sbquo; RANGE_RUE_EXC&sbquo; REGION&sbquo; REGION_EXC&sbquo; RUE&sbquo; RUE_EXC&sbquo; SERVICE&sbquo; SERVICE_EXC&sbquo; TPCODEX&sbquo; TPCODEX_EXC&sbquo; TPCOMPTE&sbquo; TPCOMPTE_EXC&sbquo; </font></td></tr> 
<tr><td width="20%" valign=top></td><td width="15%" valign=top>RDC</td><td width="70%" valign=top><font size="2">DBREL_SCHEMA_RDCPROJECT&sbquo; DBVERSION&sbquo; </font></td></tr> 
</table> 
+0

Mieux utiliser un véritable analyseur si possible. – Gumbo

Répondre

2

Découvrez JTidy. Il va analyser le code HTML et vous donner une interface DOM pour parcourir.

Je recommande fortement de ne pas utiliser une expression rationnelle pour tous les cas sauf les plus simples. HTML n'est pas régulier et n'a pas de fin de casse-tête pour vous trébucher.

+0

+1, évitez le plus possible les RegEx, car vous aurez 2 problèmes. Et s'il vous plaît, faites une petite recherche avant de poster, il ya un milliard de fois cette question http://stackoverflow.com/questions/299942/regex-matching-html-tags-and-extracting-text et http: // stackoverflow. com/questions/181095/regular-expression-à-extrait-texte-de-html et ainsi de suite. –

+0

http://stackoverflow.com/questions/26638/what-html-parsing-libraries-do-you-recommend-in-java propose des bibliothèques qui s'occupent du rangement et de l'analyse syntaxique. Mais votre réponse m'a mis dans la bonne direction. Je vous remercie. – elhoim

0

Jetez un oeil à regulazy ...

Il vous permettra de créer une expression rationnelle à partir d'une chaîne d'entrée avec un point simple et cliquez sur interface.

http://osherove.com/tools/

Questions connexes