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