Devo estrarre dal seguente stralcio di codice HTML:
Codice HTML:
<tr class="" onmouseover="this.className='highlited'" onmouseout="this.className=''">
<td><a href="controller.jsp;jsessionid=2CD6E66D952E89F87ECA3B06EA84AB3F?action=notizia_view&notizia_idn=lo10260580&query_action=search_basesearch&query_filterterm=&query_position=0&query_maxposition=2068&query_orderby=&query_filterterm=&query_querystring_1=alessandro+manzoni&query_fieldname_1=keywords" title="dettaglio documento">Opera omnia - Edizioni Paoline</a></td>
<td >Manzoni, Alessandro <1785-1873></td>
<td align="center"></td>
<td nowrap align="center">
<font size="1">
libri
</font>
</td>
</tr>
le quattro celle che compongono la riga della tabella (compresi i rispettivi tag <td> ... </td>).
Ho provato con questa espressione regolare:
Codice:
var dataPattern = /<td[>\s].*<\/td>/g;
var data = results[i].match (dataPattern);
ma il vettore data contiene solamente le prime 3 celle, la quarta viene ignorata (eppure la regexp mi sembra corretta)...
Come devo modificare la regexp in modo che il vettore data abbia correttamente 4 elementi?
Grazie a chi risponde... statemi bene...
******
Aggiornamento: sembra che il problema sia dovuto al "jolly" . (punto), che mi trova tutti i caratteri tranne i terminatori di riga (presenti nel file). Ho quindi sostituito .* (punto asterisco, ovvero stringhe di caratteri diversi dai terminatori) con (.|\s)* (che invece comprende anche i terminatori). Il problema è che ora così il risultato è uno solo, di fatto è tutto quanto compreso tra i tag <tr> ... </tr> (ricordo che l'obiettivo è avere le quattro celle separate). C'è una soluzione (in pratica, esiste una regexp che mi obblighi a considerare quel pattern solo tra il tag <td> e il tag </td> più vicino)?
Ari-grazie a chi risponde... statemi bene...