English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
odo java.util.regex.MatcherClasse representa um motor, que realiza várias operações de correspondência. Esta classe não tem construtor, pode usarmatches()
O método create da classe java.util.regex.Pattern/Obter este objeto.
Se houver correspondência, o objeto deste(Matcher)classerequireEnd()O método verifica se há uma oportunidade de resultado de correspondência falso (se houver mais entrada), se houver, o método retorna verdadeiro, caso contrário, retorna falso.
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 "hello you are", você pode combinar, mas se você aceitar mais frases novas linhas, a última palavra da nova linha pode não ser a palavra necessária (ou seja, "you"), tornando o resultado da combinação falso. Neste caso, orequiredEnd()
O método retorna verdadeiro.
Da mesma forma, se você tentar combinar um caractere específico na entrada, diga #, e se sua primeira linha de entrada for "Hello#Como vai você?", você terá uma correspondência, mais entrada de dados pode mudar o conteúdo do matcher, mas não mudará o resultado, isso é verdadeiro. Neste caso, orequiredEnd()
O método retorna falso.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main(String args[]) { String regex = "you$"; //Ler entrada do usuário Scanner sc = new Scanner(System.in); System.out.println("Insira 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 o confronto if(matcher.find()) { System.out.println("Confronto encontrado"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("Mais entrada pode tornar o resultado do confronto falso"); } else{ System.out.println("O resultado do confronto será verdadeiro, independentemente de mais dados"); } } }
Resultado da saída
Insira o texto de entrada: Olá, como vai você? Confronto encontrado Mais entrada pode tornar o resultado da correspondência falsa
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main(String args[]) { String regex = "[#]"; //Ler entrada do usuário Scanner sc = new Scanner(System.in); System.out.println("Insira 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 o confronto if(matcher.find()) { System.out.println("Confronto encontrado"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("Mais entrada pode tornar o resultado do confronto falso"); } else{ System.out.println("O resultado do confronto será verdadeiro, independentemente de mais dados"); } } }
Resultado da saída
Insira o texto de entrada: Olá#como#você está Confronto encontrado O resultado do confronto será verdadeiro, independentemente de mais dados