
Expresiones regulares
Desarrollo . Desktop . WebPara varios desarrollos o sistemas necesitarás realizar búsquedas o validaciones que precisen de ciertas comparaciones, verificaciones o substituciones. Estas se pueden realizar mediante estructuras de control que cualquier lenguaje de programación debería tener. Sin embargo, una solución que puede ser de gran utilidad para estos casos es el uso de expresiones regulares.
Una expresión regular nos sirve para definir patrones, imponiendo restricciones sobre las secuencias de caracteres que se permiten en el patrón que estamos definiendo. Las expresiones regulares se encuentran formadas por el conjunto de caracteres del alfabeto original, más un pequeño conjunto de caracteres extra denominados meta-caracteres, que nos permitirán definir las mencionadas restricciones.
Meta-caracteres
El conjunto de meta-caracteres más utilizado es el siguiente:
Nombre | Carácter | Significado |
---|---|---|
Cierre | * | El elemento precedente debe aparecer 0 o más veces |
Cierre positivo | + | El elemento precedente debe aparecer 1 o más veces |
Comodín | . | Un carácter cualquiera excepto salto de linea |
Condicional | ? | Operador unario. El elemento precedente es opcional |
OR | | | Operador binario. Operador OR entre dos elementos. En el lenguaje aparecerá o uno u otro. |
Comienzo de línea | ^ | Comienzo de línea |
Fin de línea | $ | Fin de línea |
[…] | Conjunto de caracteres admitidos | |
[^…] | Conjunto de caracteres no admitidos | |
Operador de rango | – | Dentro de un conjunto de caracteres escrito entre corchetes, podemos especificar un rango (ej., [a-zA-z0-9]) |
(…) | Agrupación de varios elementos | |
Carácter de rango | \ | Debido a que algunos de los caracteres del alfabeto coinciden con metacaracteres, el carácter de escape permite indicar que un meta-carácter se interprete como un símbolo del alfabeto |
Salto de linea | \n | Carácter de salto de línea |
Tabulador | \t | Carácter de tabulación |
Si bien puede no ser tan facíl de implementar, es solo cuestion de imaginación y un poco de prueba/error.
De todos modos dejo algunos ejemplos de expresiones regulares que pueden llegar a serles útiles en algún momento. Estas serán enviadas como argumento de alguna función que el lenguaje utilizado posea para hacer uso de expresiones regulares.
Quitar espacios
^[ s]+|[ s]+$
Validar palabra de 15 letras (solo letras)
^[a-zA-Z]{1,15}$
Validación de correo electrónico
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
Validar dirección IP(v4)
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Validar contraseñas seguras
^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$
Validar tarjeta de crédito/débito
^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35d{3})d{11})$
Calendar
L | M | X | J | V | S | D |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Deja un comentario