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