English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
estejava.util.regex.Matcher deuna clase que 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 este objeto de la clase.
doscoincidir()ydescubrir()los métodos de intento de la clase Matcher para encontrar coincidencias según la expresión regular en la cadena de entrada. Si coinciden, ambos devuelven true, si no se encuentra una coincidencia, ambos métodos devuelven false.
La principal diferencia radica en quematches()
El método intenta coincidir con el área completo de la entrada dada, es decir, si intenta buscar un número en una línea, este método devuelve true solo si el número se encuentra en todas las líneas de la entrada.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*); String input = "Este es un texto de muestra" 1234, con números entre ellos." + "\nEste es el segundo renglón del texto" + "\nEste es el tercer renglón del texto" //Crear un objeto patrón Pattern pattern = Pattern.compile(regex); //Crear un objeto Matcher Matcher matcher = pattern.matcher(input); if(matcher.matches()) { else { } System.out.println("No se encontraron coincidencias"); } } }
Resultado de salida
no se encuentra una coincidencia
mientras que estefind()
El método intenta encontrar el siguiente subcadena que coincide con el patrón, es decir, si se encuentra al menos un elemento coincidente en esta área, este método devuelve true.
Si desee ver un ejemplo a continuación, intentamos coincidir la línea específica con el número central.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*); String input = "Este es un texto de muestra" 1234, con números entre ellos." + "\nEste es el segundo renglón del texto" + "\nEste es el tercer renglón del texto" //Crear un objeto patrón Pattern pattern = Pattern.compile(regex); //Crear un objeto Matcher Matcher matcher = pattern.matcher(input); //System.out.println("Rango actual: "+input.substring(regStart, regEnd)); if(matcher.find()) { else { } System.out.println("No se encontraron coincidencias"); } } }
Resultado de salida
Encontrar coincidencia