English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La classe java.util.regex.Matcher rappresenta l'engine che esegue varie operazioni di match. Questa classe non ha costruttore, può essere utilizzatamatches()
Il metodo della classe java.util.regex.Pattern crea/ottiene un oggetto di questa classe.
Questo oggetto (Matcher)group()Il metodo restituisce la sequenza di input corrispondente durante l'ultimo match.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupExample { public static void main(String[] args) { String str = "<p>This <b>è</b> un <b>esempio</b> HTML <b>script</b> " + "dove ogni parola <b>alternativa</b> è <b>grassetto</b>. " + "Anche contiene parole <i>corsivo</i></p>"; //L'espressione regolare per abbinare il contenuto dei tag in grassetto String regex = "<b>(\\S+)</b>|<i>(\\S+)</i>"; //Creare un'oggetto modello Pattern pattern = Pattern.compile(regex); //Corrispondenza della stringa con il modello compilato Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println(matcher.group()); } } }
Risultato di output
<b>è</b> <b>esempio</b> <b>script</b> <b>ogni</b> <b>parola</b> <b>grassetto</b> <i>anche</i> <i>corsivo</i>
Un'altra variante di questo metodo accetta una variabile intera che rappresenta il gruppo, in cui i gruppi catturati sono indicizzati a partire da 1 (da sinistra a destra).
import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupTest { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*)"; String input = "Questo è un testo di esempio, 1234, con numeri tra di loro."; //Creare un'oggetto modello Pattern pattern = Pattern.compile(regex); //Corrispondenza della stringa con il modello compilato Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("Corrispondenza: "+matcher.group(0)); System.out.println("Primo gruppo di corrispondenza: "+matcher.group(1)); System.out.println("Secondo gruppo di corrispondenza: "+matcher.group(2)); System.out.println("Terzo gruppo di corrispondenza: "+matcher.group(3)); } } }
Risultato di output
Corrispondenza: Questo è un testo di esempio, 1234, con numeri tra parentesi tonde. Primo gruppo di corrispondenza: Questo è un testo di esempio, 123 Secondo gruppo di corrispondenza: 4 Terzo gruppo di corrispondenza: , con numeri tra parentesi tonde.