Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    [REGEX] Analisi scheda IMDB - Estrarre cast

    Ciao a tutti visto che sono nuovo con le RegEx ultimamente ho bisogno di un po di supporto

    Il mio problema è molto semplice (da esporre.... se lo fosse da risolvere non sarei qua)

    1) La tabella contenente i nomi degli attori di una scheda IMDB è così intestata
    codice:
    <table class="cast">....</table>
    2) Ciascuna riga della tabella che contiene un nome è così composta
    codice:
    <td class="nm">....;\">(nome attore)</a></td>
    La mia domanda è. Come faccio a dire al pattern di fare "finchè trovi match col formato numero 2 continua ad andare", però devi farlo solo all'interno della tabella delimitata come al livello1.

    In pratica, al momento ho fatto così
    Un primo pattern per estrarre tutto il codice html della tabella in modo da isolare la parte
    codice:
    pattern = Pattern.compile("<table class=\"cast\">(.+?)</table>");
    matcher = pattern.matcher(paginaRicerca);
    String cast = "";
    if (matcher.find())
    cast = matcher.group(1);
    e in secondo luogo eseguo il ciclo solo sulla stringa appena estratta
    codice:
    pattern = Pattern.compile("<td class=\"nm\">.+?';\">(.+?)</a></td>");
    matcher = pattern.matcher(cast);
    System.out.println("Cast");
    while (matcher.find())
    {
    	String attore = matcher.group(1);
    	attori.add(attore);
    }
    Il metodo così composto funziona. Quello che chiedo è se c'è un modo "più bello" per dire direttamente al pattern in che range eseguire

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [REGEX] Analisi scheda IMDB - Estrarre cast

    Originariamente inviato da Pegasys
    Quello che chiedo è se c'è un modo "più bello" per dire direttamente al pattern in che range eseguire
    No, non c'è. Nel senso che con le espressioni regolari non c'è un modo specifico per indicare con un singolo pattern "trova le occorrenze di un pattern X dentro un pattern Y".

    L'approccio che hai usato è tecnicamente e concettualmente giusto/appropriato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    Re: Re: [REGEX] Analisi scheda IMDB - Estrarre cast

    Originariamente inviato da andbin
    No, non c'è. Nel senso che con le espressioni regolari non c'è un modo specifico per indicare con un singolo pattern "trova le occorrenze di un pattern X dentro un pattern Y".

    L'approccio che hai usato è tecnicamente e concettualmente giusto/appropriato.
    A posto così allora. Funzionare funziona... volevo solo sapere se c'era un metodo "più bello" per definire direttamente un range

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.