Buonasera a tutti
Sto scrivendo un programmino che si collega alla pagina degli "Eventi del Giorno" del sito dell'università e la scarica. Da questa pagina voglio poi estrarre le informazioni relative alle aule ed agli orari in cui sono occupate (per lezioni/esami). Ho analizzato la struttura della pagina ed ho capito come isolare i dati che mi interessano, in pratica ogni riga della tabella è formata da 3 celle, così:
Per estrarre i dati perciò ho scritto questa espressione regolare:codice:... <tr> <td class="Content_Chiaro">INSEGNAMENTO</td> <td class="Content_Chiaro">ORARIO</td> <td class="Content_Chiaro">AULA</td> </tr> ...
(che dovrebbe suonare come "un qualsiasi numero di caratteri compreso tra <td class="Content_Chiaro"> e </td>").codice:<td class=\"Content_Chiaro\">.*</td>
Per funzionare funziona, ma la chiamata a matcher.group() mi restituisce tutta la riga relativa, non solo il contenuto della cella (penso sia normale, giusto?). Ottengo quindi una serie di stringhe così:
Questo mi costringe ad usare i metodi di String per liberarmi dei pezzi "in più". Ecco quindi la mia domanda: c'è modo, direttamente con la regex, di ottenere solo ciò che sta in mezzo a <td...> </td>? Mi sfugge qualcosa? :master:codice:<td class="Content_Chiaro">Algebra</td> <td class="Content_Chiaro">12.30 - 13.30</td> <td class="Content_Chiaro">Gino Tessari</td> <td class="Content_Chiaro">Programmazione</td> <td class="Content_Chiaro">9.30 - 12.30</td> <td class="Content_Chiaro">Laboratorio Delta</td> <td class="Content_Chiaro">Ricerca Operativa</td> <td class="Content_Chiaro">11.30 - 13.30</td> <td class="Content_Chiaro">M</td> ecc.
Intanto grazie![]()


Rispondi quotando
) che vuoi catturare in modo particolare solo il contenuto che c'è nel <td>. In questo caso basta che metti un "gruppo" cioè qualcosa tra parentesi ....(.*?)..... e poi usi group(1) per prenderlo.
