ecco ad esempio un html pezzo di html da estrarre :
codice:
<input class="text" type="text" name="name" value="partName" />
<input class="text" type="text" name="village" value="5612165" maxlength="20" />
<input type="hidden" name="w" value="" /> <input type="hidden" name="login" value="1270780433" />
diciamo che c'è da estrarre i campi name e value per ottenere
per costruire poi una stringa per il post dei dati :
name=PartName&village=5612165&..... etc
cmq l'esempio che ti ho postato sopra... Alla fine non è possibile farsi un metodo per la ricerca di più valori ?
Cioè se vorrei fare un metodo come sopra per le Regex che dovrebbe restituire più valori name=valore cosa dovrebbe restituire ? Un array ? E di che dimensioni ? Dovrei usarlo poi in maniera dinamica perchè non saprei apriori quante corrispondenze trova all'interno dell'html, quindi usare un ArrayList?
O conviene non usare un metodo a parte scritto solo per le Regex ma integrare nel codice del metodo che riceve l'html stesso ??
O altrimenti continuo come facevo sopra? cioè con tanti piccoli metodi che andavano a pescare un valore alla volta mettendo l'html da parsare in un ciclo e andando poi a "tagliuzzare" con substring ad ogni iterazione etc.. ??
@edit
ho provato a buttar giù qualcosa ... che ne dici di questo metodo ? Cmq nel codice del metodo chiamante è difficile da gestire ...
codice:
public static java.util.ArrayList<String> multipleRegex(String regex,String html) {
java.util.ArrayList<String> tmp = new java.util.ArrayList<String>();
p = java.util.regex.Pattern.compile(regex, java.util.regex.Pattern.CASE_INSENSITIVE);
m = p.matcher(html);
while(m.find())
{
tmp.add(html.substring(m.start(), m.end()));
}
for(String s : tmp) {
java.util.logging.Logger.global.info(s);
}
return tmp;