Las expresiones regulares son una secuencia de caracteres y símbolos que definen un conjunto de cadenas.

Son útiles para validar la entrada y asegurar que los datos estén en un formato específico. Por ejemplo un código postal debe coincidir de 5 dígitos, un apellido debe comenzar con mayúscula, un número telefónico debe tener solo números y así.
La clase String proporciona varios métodos para realizar operaciones con expresiones regulares siendo la mas simple la expresión de concordancia.
El método matches recibe una cadena que especifica la expresión regular, y compara el contenido del objeto String que lo llama con la expresión regular. Devuelve un valor Bolean indicando si hubo concordancia o no.
Una expresión regular consiste de caracteres literales y símbolos especiales.

En la siguiente figura se muestran algunas clases predefinidas de caracteres que pueden usarse con las expresiones regulares.
Expresiones regulares - Clases predefinidas de caracteres

 

 

 

 

Una clase de carácter es una secuencia de escape que representa a un grupo de caracteres. Un carácter de palabra es cualquier carácter alfanumérico o guión bajo, un carácter de espacio en blanco es un espacio, tabulador, retorno de carro o nueva línea y un digito es cualquier carácter numérico.

Para explicar lo aprendido dejo una simple aplicación que consiste básicamente en un validador de entrada o Frame en donde el usuario ingresa los datos en el formulario y

Al hacer clic en aceptar, el programa comprueba que no haya campos vacíos, si no hay campos vacios el programa informara al usuario tal evento, si no hay campos vacíos se pasa a validar la entrada del usuario.

Se validara por ejemplo en el primer caso el Nombre (que es igual a la validación de apellido ) usando el patrón ( “[A-Z][a-zA-Z]*”) en este caso le estamos diciendo que la entrada para ser valida debe tener el primer carácter en mayúscula [A-Z] y que los siguientes caracteres pueden ser cualquier carácter tanto minúscula como mayúscula [a-zA-Z] con el asterisco final le estamos diciendo que los siguientes caracteres van a ser iguales a la expresión previamente indicada, ósea la expresión que esta entre corchetes directamente al lado izquierdo del asterisco. Finalmente se podría indicar si quisiera una validación mas sobre la cantidad mínima de caracteres esperados para que nunca ingresen nombres de 2 o 3 letras por poner un ejemplo así pues solo nombres de 4 letras o superiores podrán ser ingresados, quedaría algo asi..

(“[A-Z][a-zA-Z]*\\D{3}”))

Como ven se ha agregado el signo de escape ‘\’ seguido de la clase predefinida ‘\D’ y a su vez seguido de un numero entre corchetes que indica la cantidad mínima de caracteres del tipo previamente ingresado (en este caso [a-zA-Z]).

Aclarado este punto y para que quede claro voy a presentar el ejemplo de una validación típica de Nombre mostrando lo explicado hasta recién.

//si el formato del nombre es invalido mostramos el mensaje
if (!txtNombre.getText().matches(“[A-Z][a-zA-Z]*\\D{3}”))
JOptionPane.showMessageDialog(this,”Nombre invalido”);

Finalmente un programa como de costumbre a manera de ejemplo y aplicando todo lo previamente explicado.

Expresiones Regulares - Validador de Frames

 

<< Descargar Codigo Fuente >>

 

eso es todo por hoy saludos, cualquier duda consulten.

6 Responses to “Expresiones Regulares, Validador de Frame ( Metodo matches ) [JAVA]”

  1. Emmanuel Says:

    chido

  2. Euro Says:

    Hola. quiero saber si existe alguna libreria que me permita validar un expresion regular como la que colocas de ejemplo. Dentro de mi formulario tengo un campo para ingresar expresiones regulares, y necesito validar que la expresion regular que se está ingresando tenga sentido y sea valida. Eso es posible?

  3. Euro Says:

    Ups. Estoy trabajando con Java.

  4. Panic_Show Says:

    Muchas gracias, tu código fue de mucha utilidad.
    Saludos.

  5. Rulo Says:

    oye muchas gracias por el aporte
    esto me servira para hace un compilador de java


Leave a Reply