English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método group() de Matcher en Java con ejemplo

La clase java.util.regex.Matcher representa el motor que ejecuta varias operaciones de coincidencia. Esta clase no tiene constructor, se puede usarmatches()El método de la clase java.util.regex.Pattern crea/Obtener el objeto de esta clase.

Este (Matcher) clasegroup()El método devuelve la subsecuencia de entrada que coincide con la última coincidencia.

Ejemplo1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupExample {
   public static void main(String[] args) {
      String str = "<p>This <b>is</b>un <b>ejemplo</b>HTML <b>script</b>"
         + "donde <b>cada</b>palabra <b>alternativa</b>es <b>negrita</b>. "
         + "It <i>also</i>contiene <i>italic</i>palabras</p>";
      //La expresión regular se utiliza para coincidir con el contenido de la etiqueta negrita
      String regex = "<b>(\\S+);/b>|<i>(\\S+);/i>";
      //Creación de un objeto de patrón
      Pattern pattern = Pattern.compile(regex);
      //Coincidencia de la cadena con el patrón compilado
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group());
      }
   }
}

Resultados de salida

<b>is</b>
<b>example</b>
<b>script</b>
<b>every</b>
<b>word</b>
<b>bold</b>
<i>also</i>
<i>italic</i>

Otra variante de este método acepta una variable entera que representa el grupo capturado desde1Índice de inicio desde la izquierda.

Ejemplo2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupTest {
   public static void main(String[] args) {
      String regex = "(.*);+);*);
      String input = "This is a sample Text, 1234, con números entre paréntesis.";
      //Creación de un objeto de patrón
      Pattern pattern = Pattern.compile(regex);
      //Coincidencia de la cadena con el patrón compilado
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("coincidencia: "+matcher.group(0));
         System.out.println("Primer grupo de coincidencia: "+matcher.group(1));
         System.out.println("Segundo grupo de coincidencia: "+matcher.group(2));
         System.out.println("Tercer grupo de coincidencia: "+matcher.group(3));
      }
   }
}

Resultados de salida

coincidencia: Esto es un texto de muestra , 1234, con números entre paréntesis.
Primer grupo de coincidencia: Esto es un texto de muestra , 123
Segundo grupo de coincidencia: 4
Tercer grupo de coincidencia: , con números entre paréntesis.