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

Método Matcher requireEnd() con ejemplo en Java

Estejava.util.regex.Matcher deLa clase representa un motor, realiza varias operaciones de coincidencia. Esta clase no tiene constructor, se puede usarmatches()El método de la clase java.util.regex.Pattern crea/Obtener el objeto de esta clase.

Si hay coincidencia, este (Matcher) claserequireEnd()El método verifica si hay oportunidades para que la coincidencia sea falsa (si hay más entrada), y si es así, este método devuelve verdadero, de lo contrario devuelve falso.

Por ejemplo, si intentas usar la expresión regular "you $" para coincidir la última palabra de la cadena de entrada con tú, y si tu primera línea de entrada es "hello you are", podrías coincidir, pero si aceptas más oraciones en nuevas líneas, la última palabra de la nueva línea puede no ser la palabra necesaria (es decir, "you"), lo que hace que el resultado de la coincidencia sea falso. En este caso, elrequiredEnd()El método devuelve verdadero.

Del mismo modo, si intentas coincidir un carácter específico en la entrada, di #, y si tu primera línea de entrada es "Hola#¿cómo estás?", tendrás una coincidencia. Más datos de entrada pueden cambiar el contenido del matcher, pero no cambiarán el resultado, esto es cierto. En este caso, elrequiredEnd()El método devuelve falso.

Ejemplo1

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$";
      //Leer la entrada del usuario
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el texto de entrada: ");
      String input = sc.nextLine();
      //Instanciar la clase Pattern
      Pattern pattern = Pattern.compile(regex);
      //Instanciar la clase Matcher
      Matcher matcher = pattern.matcher(input);
      //Verificar si se produjo la coincidencia
      if(matcher.find()) {
         System.out.println("Coincidencia encontrada");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("Más entrada puede hacer que el resultado de la coincidencia sea falso");
      } else{
         System.out.println("El resultado de la coincidencia será verdadero, a pesar de más datos");
      }
   }
}

Resultado de salida

Ingrese el texto de entrada:
Hola, ¿cómo estás?
Coincidencia encontrada
Más entrada puede hacer que el resultado de la coincidencia sea falso

Ejemplo2

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 = "[#]";
      //Leer la entrada del usuario
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese el texto de entrada: ");
      String input = sc.nextLine();
      //Instanciar la clase Pattern
      Pattern pattern = Pattern.compile(regex);
      //Instanciar la clase Matcher
      Matcher matcher = pattern.matcher(input);
      //Verificar si se produjo la coincidencia
      if(matcher.find()) {
         System.out.println("Coincidencia encontrada");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("Más entrada puede hacer que el resultado de la coincidencia sea falso");
      } else{
         System.out.println("El resultado de la coincidencia será verdadero, a pesar de más datos");
      }
   }
}

Resultado de salida

Ingrese el texto de entrada:
Hola# cómo# estás
Coincidencia encontrada
El resultado de la coincidencia será verdadero, a pesar de más datos