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

Método group() do Matcher no Java com exemplo

java.util.regex.Matcher classe representa o motor de execução de várias operações de match. A classe não tem construtor, pode usarmatches()Método java.util.regex.Pattern cria/Obter o objeto da classe.

Este(Matcher)classegroup()O método retorna a sub sequência de entrada correspondente ao último match.

Exemplo1

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>um<b>exemplo</b>HTML<b>script</b>"
         + "onde<b>todo<b>"/b>palavra<b>alternativa</b>é<b>negrito</b>. "
         + "It<i>também</i>contém<i>italico</i>palavras</p>";
      //A expressão regular é usada para combinar o conteúdo da etiqueta negrito
      String regex = "<b>(\\S+)</b>|<i>(\\S+)</i>";
      //Criação de um objeto de padrão
      Pattern pattern = Pattern.compile(regex);
      //Correspondência da string com o padrão compilado
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.group());
      }
   }
}

saída

<b>é</b>
<b>exemplo</b>
<b>script</b>
<b>todo</b>
<b>palavra</b>
<b>negrito</b>
<i>também</i>
<i>italico</i>

Outra variante deste método aceita uma variável inteira que representa o grupo capturado,1(da esquerda para a direita) início do índice.

Exemplo2

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, com números entre eles.";
      //Criação de um objeto de padrão
      Pattern pattern = Pattern.compile(regex);
      //Correspondência da string com o padrão compilado
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("correspondência: ",+matcher.group(0));
         System.out.println("Primeiro grupo de correspondência: ",+matcher.group(1));
         System.out.println("Segundo grupo de correspondência: ",+matcher.group(2));
         System.out.println("Terceiro grupo de correspondência: ",+matcher.group(3));
      }
   }
}

saída

correspondência: Este é um texto de exemplo, 1234, com números entre eles.
Primeiro grupo de correspondência: Este é um texto de exemplo, 123
Segundo grupo de correspondência: 4
Terceiro grupo de correspondência: , com números entre eles.