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

Ejemplo del método toMatchResult () de Matcher en Java

java.util.regex.Matcher clase representa el motor de 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)toMatchResult()El método devuelve el estado actual del matcher.

ejemplo1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
   public static void main(String[] args) {
      String str = "<p>Este <b>es</b> un <b>ejemplo</b>.</p>";
      //La expresión regular se utiliza para coincidir con el contenido del texto en negrita
      String regex = "<b>(\\S+)</b>";
      //Crear un objeto patrón
      Pattern pattern = Pattern.compile(regex);
      //Coincidir con el patrón compilado en la cadena de caracteres
      System.out.println("Estado del matcher: ");
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.toMatchResult());
         String result = matcher.group(1);
      }
      matcher = matcher.reset("<p>esta es otra <b>línea</b>.</p>");
      matcher.find();
      System.out.println("");
      System.out.println("Estado del matcher después de reiniciarlo: \n");+matcher.toMatchResult());
   }
}

Resultado de salida

Estado del matcher:
java.util.regex.Matcher[pattern=<b>(\S+)</b> región=0,40 últimomatch=<b>es</b>]
java.util.regex.Matcher[pattern=<b>(\S+)</b> región=0,40 últimomatch=<b>ejemplo</b>]
Estado del matcher después de reiniciarlo:
java.util.regex.Matcher[pattern=<b>(\S+)</b> región=0,35 últimomatch=<b>línea</b>]

ejemplo2

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("Introduzca una cadena: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Crear un objeto patrón
      Pattern pattern = Pattern.compile(regex);
      //Crear un objeto Matcher
      Matcher matcher = pattern.matcher(input);
      System.out.println("Estado de coincidencia: ");
      //Coincidencia encontrada
      while(matcher.find()) {
         System.out.println(matcher.toMatchResult());
      }
   }
}

Resultado de salida

Introduzca una cadena:
#Este #es #un #ejemplo #de #texto
Estado de coincidencia:
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=#]