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