English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Lede java.util.regex.MatcherCette classe représente un moteur, effectuant diverses opérations de correspondance. Cette classe n'a pas de constructeur, et elle peut être utiliséematches()
La méthode de création de l'objet Pattern de la classe java.util.regex./Obtenir l'objet de cette classe.
Dansreset()
Les méthodes de cette classe (Matcher) suppriment toutes les informations d'état et réinitialisent la séquence de caractères à la valeur par défaut, en ajoutant la position à zéro.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This <b>est</b>"/b>un <b>exemple</b>/b>HTML <b>script</b>/b>où <b>chaque</b>/b>mot alternatif <b>mot</b>/b>est <b>gras</b>/b></p>"; //Correspondance des expressions régulières pour le contenu des balises en gras String regex = "<b>(\\S+)</b>"; //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Matcher les motifs déjà compilés dans la chaîne Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Etat du matcher : ")+matcher.toMatchResult()); String result = matcher.group(1); } matcher = matcher.reset(); System.out.println("État du matcher après le réinitialisation : "+matcher.toMatchResult()); } }
Résultat de la sortie
État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>is</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>example</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>script</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>every</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>>mot</b>/b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>bold</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=] État du matcher après le réinitialisation : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=]
Cette autre variante de la méthode accepte des données de chaîne et utilise celles-ci pour réinitialiser le Matcher.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This <b>est</b>"/b>un <b>exemple</b>/b>HTML <b>script</b>/b>où <b>chaque</b>/b>mot alternatif <b>mot</b>/b>est <b>gras</b>/b></p>"; //Correspondance des expressions régulières pour le contenu des balises en gras String regex = "(\\S+); //Créer un objet modèle Pattern pattern = Pattern.compile(regex); //Matcher les motifs déjà compilés dans la chaîne Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("Etat du matcher : ")+matcher.toMatchResult()); String result = matcher.group(1); } matcher = matcher.reset("<b>this</b> est <b>new</b> string <b>after</b> reset"); while (matcher.find()) { System.out.println("État du matcher après le réinitialisation : "+matcher.toMatchResult()); } } }
Résultat de la sortie
État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>is</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>example</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>script</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>every</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>word</b>] État du matcher : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>116 lastmatch=<b>bold</b>] État du matcher après le réinitialisation : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>this</b>] État du matcher après le réinitialisation : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>new</b>] État du matcher après le réinitialisation : java.util.regex.Matcher[pattern=<b>(\S+)</b> region=0,</b>51 lastmatch=<b>after</b>]