codice:
Pattern p = Pattern.compile("</option>");
String[] trovati = p.split("<option value=\"AG\">Agrigento - AG</option><option value=\"AL\">Alessandria - AL</option><option value=\"AN\">Ancona - AN</option>");
Pattern p2 = Pattern.compile("<option value=\"(\\w\\w)\">(.+?) - (\\w\\w)");
for (int i = 0; i < trovati.length; i++) {
Matcher singola = p2.matcher(trovati[i]);
if (singola.matches()) {
System.out.println("Nome abbreviato: "+singola.toMatchResult().group(1)); // Stampa 17
System.out.println("Nome intero: "+singola.toMatchResult().group(2)); // Stampa 23
System.out.println("Nome abbreviato: "+singola.toMatchResult().group(3)); // Stampa 1986
} else {
System.out.println("Non corrisponsto");
}
System.out.println("================");
}
Stampa:
Nome abbreviato: AG
Nome intero: Agrigento
Nome abbreviato: AG
================
Nome abbreviato: AL
Nome intero: Alessandria
Nome abbreviato: AL
================
Nome abbreviato: AN
Nome intero: Ancona
Nome abbreviato: AN
================