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

Exemple de méthode toMatchResult () dans Matcher en Java

La classe java.util.regex.Matcher représente le moteur d'exécution des opérations de correspondance. Cette classe n'a pas de constructeur, et elle peut être utiliséematches()La méthode de création de la classe java.util.regex.Pattern/Obtenir l'objet de cette classe.

Cet (matcher) detoMatchResult()Le méthode retourne l'état actuel du matcher.

Exemple1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ToMatchResultExample {
   public static void main(String[] args) {
      String str = "<p>Ce <b>est</b> un <b>exemple</b>.</p>";
      //L'expression régulière pour correspondre au contenu en gras
      String regex = "<b>(\\S+)</b>";
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Matchez le modèle compilé dans la chaîne de caractères
      System.out.println("État du matcher : ");
      Matcher matcher = pattern.matcher(str);
      while (matcher.find()) {
         System.out.println(matcher.toMatchResult());
         String result = matcher.group(1);
      }
      matcher = matcher.reset("<p>ceci est une autre <b>ligne</b>.</p>");
      matcher.find();
      System.out.println("");
      System.out.println("État du matcher après le réinitialisation : \n");+matcher.toMatchResult());
   }
}

Résultat de la sortie

État du matcher :
java.util.regex.Matcher[pattern=<b>(\S+)</b> région=0,40 lastmatch=<b>est</b>]
java.util.regex.Matcher[pattern=<b>(\S+)</b> région=0,40 lastmatch=<b>exemple</b>]
État du matcher après le réinitialisation :
java.util.regex.Matcher[pattern=<b>(\S+)</b> région=0,35 lastmatch=<b>ligne</b>]

Exemple2

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("Entrez une chaîne: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Créer un objet modèle
      Pattern pattern = Pattern.compile(regex);
      //Créer un objet Matcher
      Matcher matcher = pattern.matcher(input);
      System.out.println("État de correspondance: ");
      //Trouver la compétition
      while(matcher.find()) {
         System.out.println(matcher.toMatchResult());
      }
   }
}

Résultat de la sortie

Entrez une chaîne :
#Ceci est un texte d'exemple #
État de correspondance :
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=#]
Vous pourriez aussi aimer