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 usarmatches()
El método create de la clase java.util.regex.Pattern/Obtener el objeto de esta clase.
En la expresión regular, las construcciones lookbehind y lookahead se utilizan para coincidir con patrones específicos antes o después de otros patrones. Por ejemplo, si necesita aceptar5a12una cadena de caracteres de-
"\\A(?=\\w{6,10})";
Por defecto, los límites del área del matcher no son transparentes para la búsqueda hacia adelante, la búsqueda hacia atrás y la coincidencia de límites, es decir, estas construcciones no pueden coincidir con el contenido del texto de entrada que excede los límites del área.-
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class useTransparentBoundsExample { public static void main(String[] args) { //La expresión regular puede aceptar6a10caracteres String regex = "\\A(?=\\w{6,10})"; System.out.println("Entrar 5 a 12 caracteres: "); String input = new Scanner(System.in).next(); //Crear un objeto patrón Pattern pattern = Pattern.compile(regex); //Crear un objeto Matcher Matcher matcher = pattern.matcher(input); //Establecer la región en la cadena de entrada matcher.region(0, 4); //Cambiar a rango transparente if(matcher.find()) { System.out.println("Coincidencia encontrada"); } else { System.out.println("Coincidencia no encontrada"); } } }
Resultado de salida
Entrar 5 a 12 caracteres: sampleText No se encontró coincidencia
Esta claseEl métodouseTransparentBounds()El método acepta valores booleanos, si se pasa true a este método, el matcher actual utilizará un límite transparente, si se pasa false a este método, se utilizará un límite opaco.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { //La expresión regular puede aceptar6a10caracteres String regex = "\\A(?=\\w{6,10})"; System.out.println("Entrar 5 a 12 caracteres: "); String input = new Scanner(System.in).next(); //Crear un objeto patrón Pattern pattern = Pattern.compile(regex); //Crear un objeto Matcher Matcher matcher = pattern.matcher(input); //Establecer la región en la cadena de entrada matcher.region(0, 4); //Cambiar a rango transparente matcher = matcher.useTransparentBounds(true); if(matcher.find()) { System.out.println("Coincidencia encontrada"); } else { System.out.println("Coincidencia no encontrada"); } } }
Resultado de salida
Entrar 5 a 12 caracteres: textosample Coincidencia encontrada