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

Metodo hitEnd() con esempio in Java

Iljava.util.regex.MatcherLa classe rappresenta un motore che esegue vari operazioni di abbinamento. La classe non ha costruttore, può essere utilizzatamatches()Il metodo della classe java.util.regex.Pattern crea/ottiene l'oggetto di questa classe.

IlhitEnd()Il metodo verifica se, se così fosse, restituisce true, altrimenti restituisce false se è stato raggiunto la fine dei dati di input. Se questo metodo restituisce true, significa che ulteriori dati di input potrebbero modificare il risultato della corrispondenza.

Ad esempio, se provi a utilizzare l'espressione regolare " you $" per abbinare l'ultimo termine della stringa di input e se la tua prima riga di input è "Ciao, come stai", potrebbe esserci una corrispondenza, ma se accetti più frasi con nuove righe, l'ultimo termine della nuova riga potrebbe non essere il termine necessario (cioè " you"), il che rende il risultato della corrispondenza falso. In questo caso, ilhitEnd()Il metodo restituisce true.

Esempio

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$";
      //Leggi l'input dall'utente
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci il testo di input: ");
      String input = sc.nextLine();
      //Istanziazione della classe Pattern
      Pattern pattern = Pattern.compile(regex);
      //Istanziazione della classe Matcher
      Matcher matcher = pattern.matcher(input);
      //Verifica se è avvenuta la corrispondenza
      if(matcher.find()) {
         System.out.println("Corrispondenza trovata");
      }
      boolean result = matcher.hitEnd();
      if(result) {
         System.out.println("Più input può rendere il risultato della corrispondenza falso");
      }
         System.out.println("Il risultato della corrispondenza sarà vero, nonostante ulteriori dati");
      }
   }
}

Risultato di output

Inserisci il testo di input:
Ciao, come ti trovi?
Corrispondenza trovata
Più input può rendere il risultato della corrispondenza falso