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

Método hitEnd () com exemplo em Java

ajava.util.regex.MatcherA classe representa um mecanismo, realiza várias operações de correspondência. A classe não tem construtor, pode usarmatches()método da classe java.util.regex.Pattern cria/Obter o objeto dessa classe.

ahitEnd()método verifica se, se for assim, retorna true, caso contrário retorna false até o final dos dados de entrada. Se este método retornar true, indica que mais dados de entrada podem mudar o resultado da correspondência.

Por exemplo, se você tentar usar a expressão regular "you $" para combinar a última palavra da string de entrada com você, e se sua primeira linha de entrada for "Olá, tudo bem?", pode haver correspondências, mas se você aceitar mais frases novas linhas, a última palavra pode não ser a palavra necessária (ou seja, "you"), então o resultado da correspondência pode ser falso. Neste caso, ohitEnd()O método retorna true.

Exemplo

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$";
      //Ler entrada do usuário
      Scanner sc = new Scanner(System.in);
      System.out.println("Digite o texto de entrada: ");
      String input = sc.nextLine();
      //Instanciar a classe Pattern
      Pattern pattern = Pattern.compile(regex);
      //Instanciar a classe Matcher
      Matcher matcher = pattern.matcher(input);
      //Verificar se ocorreu correspondência
      if(matcher.find()) {
         System.out.println("Correspondência encontrada");
      }
      boolean result = matcher.hitEnd();
      if(result) {
         System.out.println("Mais entrada pode tornar o resultado da correspondência falso");
      } else {
         System.out.println("O resultado da correspondência será true, apesar de mais dados");
      }
   }
}

Resultado da saída

Digite o texto de entrada:
Olá, como vai você?
Correspondência encontrada
Mais entrada pode tornar o resultado da correspondência falso