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

Exemplo do método toMatchResult() do Matcher em Java

A classe java.util.regex.Matcher representa o motor de operações de correspondência. Esta classe não tem construtor, pode usarmatches()Método da classe java.util.regex.Pattern para criar/Obter o objeto dessa classe.

Este (matcher)toMatchResult()O método retorna o estado atual do matcher.

Exemplo1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
   public static void main(String[] args) {
      String str = "<p>Este <b>é</b> um <b>exemplo</b>.</p>";
      //Expressão regular para coincidir com o conteúdo em negrito
      String regex = "<b>(\\S+)</b>";
      //Criar um objeto padrão
      Pattern pattern = Pattern.compile(regex);
      //Coincidência da string com o padrão compilado
      System.out.println("Estado do matcher: ");
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.toMatchResult());
         String result = matcher.group(1);
      }
      matcher = matcher.reset("<p>esta é outra <b>linha</b>.</p>");
      matcher.find();
      System.out.println("");
      System.out.println("Estado do matcher após reinicialização: \n");+matcher.toMatchResult());
   }
}

Resultados de saída

Estado do matcher:
java.util.regex.Matcher[pattern=<b>(\S+)</b> região=0,40 lastmatch=<b>é</b>]
java.util.regex.Matcher[pattern=<b>(\S+)</b> região=0,40 lastmatch=<b>exemplo</b>]
Estado do matcher após reinicialização:
java.util.regex.Matcher[pattern=<b>(\S+)</b> região=0,35 lastmatch=<b>linha</b>]

Exemplo2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
   public static void main(String[] args) {
      String regex = "[#]";
      System.out.println("Insira uma string: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Criar um objeto padrão
      Pattern pattern = Pattern.compile(regex);
      //Criar um objeto Matcher
      Matcher matcher = pattern.matcher(input);
      System.out.println("Estado do Match: ");
      //Encontrado o jogo
      while(matcher.find()) {
         System.out.println(matcher.toMatchResult());
      }
   }
}

Resultados de saída

Insira uma string:
#This #is #a #sample #text
Estado do Match:
java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]
java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]
java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]
java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]
java.util.regex.Matcher[pattern=[#] region=0,26 lastmatch=#]