Ciao a tutti.
La regex e divisa in due gruppi, il gruppo 1 trova i tag e il gruppo 2 trova il testo che c'è tra i tag...
Il mio problema è il seguente:
Lanciando il codice sottostante, la variabile "gruppo" dentro il while, vale sempre 2.
Domanda-1: Non dovrebbe darmi l'idice del gruppo che sta usando e se non è cosi, come si può fare?
Domanda-2: Se modifico la riga: "trovato = matcher10.group(2).toString();" in modo di avere solo le coincidenze del gruppo 2 mi lancia un java.lang.NullPointerException?
Qualcuno mi può aiutare per favore.
codice:// Il gruppo 1 trova i tag e il gruppo 2 trova cio che c'è tra i tag... String pattern = "(<[^>]*>)|([^<]+)"; Pattern regPat = Pattern.compile(pattern10, Pattern.CASE_INSENSITIVE); Matcher matcher = null; String testo = " ciao</P>"; matcher10 = regPat.matcher(testo); int gruppo = 0; String trovato = ""; while (matcher.find()) { gruppo = matcher.groupCount(); trovato = matcher.group().toString(); }

Rispondi quotando