¿Qué es una expresión regular en Java?
Una expresión regular o expresión regular es una secuencia de caracteres que forman un patrón. Cuando busque datos, puede utilizar este patrón especializado para encontrar cadenas coincidentes. Puede ser tan simple como un solo carácter o puede ser un patrón más complejo. En Java, tiene un paquete de expresiones regulares de Java que tiene clases que brindan la posibilidad de usar expresiones regulares para la búsqueda y manipulación de patrones. Este paquete se importa a su código de la siguiente manera.
import java.util.regex.*;
Java Regex - Comparador
import java.util.regex.Matcher;
El paquete java regex tiene tres clases:
-
Clase de patrón : para definir el patrón que se debe buscar.
-
Clase Matcher : para hacer coincidir el patrón en el texto y encontrarlo.
-
Clase PatternSyntaxException : para indicar cualquier error de sintaxis en la expresión regular.
Métodos de clase Java Matcher
Algunos de los métodos de la clase Java Matcher se describen a continuación.-
coincidencias booleanas() : devuelve verdadero si la expresión regular coincide con el patrón.
-
boolean find() : busca la siguiente expresión regular que coincida con el patrón.
-
boolean find(int start) : busca la siguiente expresión regular que coincide con el patrón desde el inicio dado.
-
int start() : devuelve el índice inicial del partido.
-
int end() : devuelve el índice final de la coincidencia devuelta.
-
int groupCount() : devuelve el número total de grupos en la coincidencia.
-
String replaceAll(Reemplazo de cadena) : reemplaza cada subsecuencia de la coincidencia con el reemplazo dado.
-
String replaceFirst(Reemplazo de cadena) : reemplaza la primera subsecuencia de la coincidencia con el reemplazo dado.
Ejemplo de comparación de Java
Hay muchos métodos útiles para la clase Matcher ; sin embargo, veremos más adelante los ejemplos específicos del métodomatches() .Usando el método coincidencias()
A continuación se muestra un ejemplo de Java Matcher para el métodomatches() .
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
String firstCheck = "Apples";
String secondCheck = "Apple";
String thirdCheck = "apple";
String fourthCheck = "An apple a day keeps the doctor away.";
String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";
Pattern pattern = Pattern.compile(regexPattern);
Matcher matcher1 = pattern.matcher(firstCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + firstCheck);
System.out.println("Output for matches(): " + matcher1.matches() + "\n");
Matcher matcher2 = pattern.matcher(secondCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + secondCheck);
System.out.println("Output for matches(): " + matcher2.matches() + "\n");
Matcher matcher3 = pattern.matcher(thirdCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + thirdCheck);
System.out.println("Output for matches(): " + matcher3.matches() + "\n");
Matcher matcher4 = pattern.matcher(thirdCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + fourthCheck);
System.out.println("Output for matches(): " + matcher4.matches() + "\n");
Matcher matcher5 = pattern.matcher(fifthCheck);
System.out.println("The Pattern is: " + pattern);
System.out.println("Text to check is: " + fifthCheck);
System.out.println("Output for matches(): " + matcher5.matches() + "\n");
}
}
Producción