Visualizzazione risultati 1 fino 1 di 1

Discussione: Quale regexp devo usare (in JavaScript)?

  1. #1
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito Quale regexp devo usare (in JavaScript)?

    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&amp;notizia_idn=lo10260580&amp;query_action=search_basesearch&amp;query_filterterm=&amp;query_position=0&amp;query_maxposition=2068&amp;query_orderby=&amp;query_filterterm=&amp;query_querystring_1=alessandro+manzoni&amp;query_fieldname_1=keywords" title="dettaglio documento">Opera omnia - Edizioni Paoline</a></td>
            <td >Manzoni, Alessandro  &lt;1785-1873&gt;</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...
    Ultima modifica di dementialsite : 04-10-2008 alle ore 11.06.54
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •