Dans la section précédente, nous avons appris la première étape de l'utilisation des classes Pattern et Matcher pour créer un objet modèle . Dans cette section, nous continuons à apprendre la deuxième étape, obtenir l'objet correspondant .
Obtenez un matcher d'instance de la classe Matcher qui peut récupérer une entrée de chaîne, appelé objet correspondant :
Matchermatcher=pattern.matcher(entrée);
Le modèle d'objet pattern appelle la méthode matcher(CharSequence input) pour renvoyer un matcher d'objet Matcher, appelé objet correspondant . Le paramètre input est utilisé pour donner la chaîne à récupérer par le matcher. L'entrée du paramètre peut être un objet créé par n'importe quelle classe qui implémente l'interface CharSequence. Les classes String et StringBuffer apprises précédemment implémentent l'interface CharSequence.
Le comparateur d'objets correspondants peut appeler diverses méthodes pour récupérer la chaîne d'entrée . Par exemple : le matcher appelle la méthode booléenne find() dans l'ordre pour récupérer la sous-chaîne dans l'entrée qui correspond à l'expression régulière. Par exemple : le premier appel à la méthode find() récupérera la première sous-chaîne good dans l'entrée, c'est-à-dire que matcher.find() récupère la première bonne et renvoie true À ce moment, la valeur renvoyée par matcher.start(. ) est 6 , la position où commence le premier bon, la valeur renvoyée par matcher.end() est 10, la position où se termine le premier bon, matcher.group() renvoie bon, c'est-à-dire renvoie la chaîne récupérée.
Le comparateur d'objets Matcher peut utiliser les méthodes suivantes pour déterminer s'il existe une sous-séquence dans l'entrée de chaîne qui correspond au modèle regex est l'expression régulière utilisée lors de la création du modèle d'objet de modèle.
Recherchez la sous-séquence suivante qui correspond à l'entrée et à l'expression régulière. En cas de succès, la méthode renvoie vrai, sinon elle renvoie faux. Lorsque le matcher appelle cette méthode pour la première fois, il recherche la première sous-séquence dans l'entrée qui correspond à l'expression régulière. Si find() renvoie true, lorsque le matcher appelle à nouveau la méthode find(), il commencera la recherche à partir de la dernière. sous-séquence qui correspond avec succès au modèle. Sous-chaîne suivante correspondant au modèle. De plus, lorsque la méthode find renvoie true, le matcher peut appeler la méthode start() et la méthode end pour obtenir les positions de début et de fin de la sous-séquence de modèle correspondante dans l'entrée. Lorsque la méthode find renvoie true, le matcher appelle group() pour renvoyer cette fois la sous-chaîne du modèle correspondant trouvé par la méthode find.
Le matcher appelle cette méthode pour déterminer si l'entrée correspond complètement à l'expression régulière.
Le matcher appelle cette méthode pour déterminer s'il existe une sous-séquence correspondant à l'expression régulière depuis le début de l'entrée. Si la méthode LookingAt() renvoie true, le matcher appelle la méthode start() et la méthode end pour obtenir la position de début et la position de fin dans l'entrée de la sous-séquence du modèle correspondant trouvé par la méthode LookingAt(). Si la méthode LookingAt() renvoie true, le matcher appelle group() pour renvoyer la sous-séquence du modèle correspondant trouvé par la méthode LookingAt().
Le matcher appelle cette méthode pour déterminer si l'entrée a une sous-séquence correspondant à l'expression régulière commençant à la position spécifiée par le paramètre start. Lorsque le paramètre start est 0, cette méthode a la même fonction que LookingAt().
Le matcher peut renvoyer une chaîne en appelant cette méthode. La chaîne est obtenue en remplaçant toutes les sous-chaînes de l'entrée qui correspondent à l'expression régulière de modèle par la chaîne spécifiée par le paramètre de remplacement.
Le matcher appelle cette méthode pour renvoyer une chaîne, qui est obtenue en remplaçant la première sous-chaîne de l'entrée qui correspond à l'expression régulière de modèle par la chaîne spécifiée par le paramètre de remplacement. Il convient de noter que l'entrée elle-même ne change pas.