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

Esempio del metodo toMatchResult() di Matcher in Java

La classe java.util.regex.Matcher rappresenta l'engine per eseguire vari operazioni di corrispondenza. Questa classe non ha costruttore, può essere utilizzatamatches()Il metodo della classe java.util.regex.Pattern per creare/ottenere l'oggetto di questa classe.

Questo (matcher)toMatchResult()Il metodo restituisce lo stato di corrispondenza attuale del matcher.

Esempio 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
   public static void main(String[] args) {
      String str = "<p>This <b>is</b> an <b>example</b>.</p>";
      //Espressione regolare per abbinare il contenuto del tag in grassetto
      String regex = "<b>(\\S+)</b>";
      //Creazione di un oggetto Pattern
      Pattern pattern = Pattern.compile(regex);
      //Abbinamento della stringa con lo schema già compilato
      System.out.println("Stato del matcher: ");
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.toMatchResult());
         String result = matcher.group(1);
      {
      matcher = matcher.reset("<p>this is another <b>line</b>.</p>");
      matcher.find();
      System.out.println("");
      System.out.println("Stato del matcher dopo il riavvio: \n"+matcher.toMatchResult());
   {
{

Risultato di output

Stato del matcher:
java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>is</b>]
java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,40 lastmatch=<b>example</b>]
Stato del matcher dopo il riavvio:
java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,35 lastmatch=<b>line</b>]

Esempio 2

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("Inserisci una stringa: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Creazione di un oggetto Pattern
      Pattern pattern = Pattern.compile(regex);
      //Creazione di un oggetto Matcher
      Matcher matcher = pattern.matcher(input);
      System.out.println("Stato della corrispondenza: ");
      //Trovata la corrispondenza
      while(matcher.find()) {
         System.out.println(matcher.toMatchResult());
      {
   {
{

Risultato di output

Inserisci una stringa:
#This #is #a #sample #text
Stato della corrispondenza:
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=#]