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

Méthode hitEnd() avec exemple dans Java

Lajava.util.regex.MatcherLa classe représente un moteur, effectuant diverses opérations de correspondance. Cette classe n'a pas de constructeur, et elle peut être utilisée viamatches()La méthode de la classe java.util.regex.Pattern pour créer/Obtenir l'objet de cette classe.

LahitEnd()méthode vérifie si, dans le cas, elle renvoie true, sinon false pour les données d'entrée précédentes atteignant la fin. Si cette méthode renvoie true, cela indique que les données d'entrée supplémentaires pourraient changer le résultat de la correspondance.

Par exemple, si vous essayez d'utiliser l'expression régulière « you $ » pour correspondre au dernier mot de la chaîne d'entrée et que votre première ligne d'entrée est « tu, comment ça va ? », il peut y avoir une correspondance, mais si vous acceptez plus de phrases avec de nouvelles lignes, le dernier mot de la phrase peut ne pas être le mot nécessaire (c'est-à-dire « you »), ce qui rend le résultat de la correspondance faux. Dans ce cas, lahitEnd()La méthode renvoie true.

Exemple

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HitEndExample {
   public static void main(String args[]) {
      String regex = "you$";
      //Lire l'entrée de l'utilisateur
      Scanner sc = new Scanner(System.in);
      System.out.println("Entrez le texte d'entrée: ");
      String input = sc.nextLine();
      //Instancier la classe Pattern
      Pattern pattern = Pattern.compile(regex);
      //Instancier la classe Matcher
      Matcher matcher = pattern.matcher(input);
      //Vérifier si une correspondance s'est produite
      if(matcher.find()) {
         System.out.println("Correspondance trouvée");
      }
      boolean result = matcher.hitEnd();
      if(result) {
         System.out.println("Plus d'inputs peut rendre le résultat de la correspondance faux");
      } else {
         System.out.println("Le résultat de la correspondance sera vrai, malgré plus de données");
      }
   }
}

Résultat de la sortie

Entrez le texte d'entrée:
Bonjour, comment ça va?
Correspondance trouvée
Plus d'inputs peut rendre le résultat de la correspondance faux