¿Qué es una expresión regular?
- Una expresión regular define un patrón de búsqueda para cadenas de caracteres.
- La podemos utilizar para comprobar si una cadena contiene o coincide con el patrón. El contenido de la cadena de caracteres puede coExpresiones Regulares con Matches de Javaincidir con el patrón 0, 1 o más veces.
- Algunos ejemplos de uso de expresiones regulares pueden ser:
- Para comprobar que la fecha leída cumple el patrón dd/mm/aaaa
- Para comprobar que una dirección de correo electrónico es una dirección válida.
Símbolos comunes en expresiones regulares
Expresión | Descripción |
. | Un punto indica cualquier carácter |
^expresión | El símbolo ^ indica el principio del String. En este caso el String debe contener la expresión al principio. |
expresión$ | El símbolo $ indica el final del String. En este caso el String debe contener la expresión al final. |
[Abc] | Los corchetes representan una definición de conjunto. En este ejemplo el String debe contener las letras a ó b ó c. |
[Abc] [12] | El String debe contener las letras a ó b ó c seguidas de 1 ó 2 |
[^ Abc] | El símbolo ^ dentro de los corchetes indica negación. En este caso el String debe contener cualquier carácter excepto a ó b ó c. |
[-A Z1-9] | Rango. Indica las letras minúsculas desde la a hasta la z (ambas incluidas) y los dígitos desde el 1 hasta el 9 (ambos incluidos) |
A | B | El carácter | es un OR. A ó B |
AB | La concatenación. A seguido de B |
Meta caracteres en expresiones regulares
Expresión | Descripción |
\ D | Dígito. Equivale a [0-9] |
\ D | No dígito. Equivale a [^0-9] |
\ s | Espacio en blanco. Equivale a [ \t\n\x0b\r\f] |
\ S | No espacio en blanco. Equivale a [^\s] |
\ W | Una letra mayúscula o minúscula, un dígito o el carácter _Equivale a [a-zA-Z0-9_] |
\ W | Equivale a [^\w] |
\ B | Límite de una palabra. |
Cuantificadores en expresiones regulares
Expresión | Descripción |
{X} | Indica que lo que va justo antes de las llaves se repite X veces |
{X, Y} | Indica que lo que va justo antes de las llaves se repite mínimo X veces y máximo Y veces. También podemos poner {X,} indicando que se repite un mínimo de X veces sin límite máximo. |
* | Indica 0 ó más veces. Equivale a {0,} |
+ | Indica 1 ó más veces. Equivale a {1,} |
? | Indica 0 ó 1 veces. Equivale a {0,1} |
Cómo usar los símbolos especiales de expresiones regulares en Java
En Java debemos usar una doble barra invertida \\. Por ejemplo para utilizar \w tendremos que escribir \\w.
Si queremos indicar que la barra invertida es un carácter de la expresión regular tendremos que escribir \\\\.
Expresiones Regulares con Matches de Java
Para usar expresiones regulares en Java se usa el package java.útil.regex
Contiene las clases Pattern y Matcher y la excepción PatternSyntaxException
Algunos ejemplos en código de Expresiones Regulares con Matches de Java
123456789101112131415 // Comprobar si el String cadena contiene exactamente el patrón (matches) “abc”Patternpat Pattern.compile = ("abc");Matchermat = pat.matcher (Cadena);if (mat.matches ()) {System.out.println ("SI");} else {System.out.println ("NO");}
123456789101112131415 // Comprobar si el String cadena contiene “abc”Patternpat Pattern.compile = ("abc *. *".)Matchermat = pat.matcher (Cadena);if (mat.matches ()) {System.out.println ("SI");} else {System.out.println ("NO");}
123456789101112131415 // También lo podemos escribir usando el método find:Patternpat Pattern.compile = ("abc");Matchermat = pat.matcher (Cadena);if (mat.find ()) {System.out.println ("Válido");} else {System.out.println ("No Válido");}
Me gustaria mas ejemplos de .matches usando JOptionpane???
Gracias muy util, me sirvio para un proyecto, gracias