English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La clase java.util.regex.Matcher representa el motor que ejecuta varias operaciones de coincidencia. Esta clase no tiene constructor, se puede crear usando el método matchs() de la clase java.util.regex.Pattern/Obtener el objeto de esta clase.
Los límites de anclaje se utilizan para la coincidencia de áreas, por ejemplo ^ y $. Por defecto, el matcher utiliza el rango de anclaje, puede usar el método useAnchoringBounds() para cambiar de usar el rango de anclaje a no usarlo.
Esta clase (Matcher)hasAnchoringBounds()Método que verifica si el matcher utiliza límites de anclaje (si es así), de lo contrario devuelve true, de lo contrario devuelve false.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class HasAnchoringBoundsExample { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*); String input = "Este es un texto de ejemplo" 1234, con números entre ellos. + "\nEste es la segunda línea en el texto" + "\nEsta es la tercera línea del texto"; //Creando un objeto patrón Pattern pattern = Pattern.compile(regex); //Creando un objeto Matcher Matcher matcher = pattern.matcher(input); //Verificando límites de anclaje boolean bool = matcher.hasAnchoringBounds(); //verificando la coincidencia if(bool) { System.out.println("El maridador actual utiliza amarrando límites"); } else { System.out.println("El maridador actual utiliza no-amarrando límites"); } if(matcher.matches()) { System.out.println("Coincidencia encontrada"); } else { System.out.println("Coincidencia no encontrada"); } } }
Resultado de salida
El matcher actual utiliza límites de anclaje Coincidencia no encontrada
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Trail { public static void main(String args[]) { //Leyendo valor de cadena Scanner sc = new Scanner(System.in); System.out.println("Ingrese la cadena de entrada"); String input = sc.nextLine(); //Expresión regular para encontrar dígitos String regex = "."*\\d+.*"; //Compilando la expresión regular Pattern pattern = Pattern.compile(regex); //Imprimiendo la expresión regular System.out.println("Expresión regular compilada: "+pattern.toString()); //Obteniendo el objeto matcher Matcher matcher = pattern.matcher(input); matcher.useAnchoringBounds(false); boolean hasBounds = matcher.hasAnchoringBounds(); if(hasBounds) { System.out.println("El maridador actual utiliza amarrando límites"); } else { System.out.println("El maridador actual utiliza no-amarrando límites"); } //verificando si ocurrió la coincidencia if(matcher.matches()) { System.out.println("La cadena dada contiene dígitos"); } else { System.out.println("La cadena dada no contiene dígitos"); } } }
Resultado de salida
Ingrese la cadena de entrada hello sample 2 Expresión regular compilada: .*\d+.* El maridador actual utiliza no-amarrando límites La cadena dada contiene dígitos