Hoy vamos a ver conocimientos básicos de expresiones regulares, es de señalar que las expresiones regulares nos permiten comparar un texto con un patrón de búsqueda, para ver si el texto contiene el patrón especificado.

Veamos los carácteres especiales:

[ ] cochetes
() parentesis
{} llaves
- guión
+ más
* asterisco
. Punto
^ circumflejo
$ dolar
? interrogante cerrado
| tuberia unix
\ Como regla general, la barra invertida \ convierte en normales carácteres especiales, y hace especiales carácteres normales.
     (se usa para tratar de formar normal un caracter especial)
/ barra del 7

Tenemos los siguientes operadores para las expresiones regulares:

. Coincide con cualquier carácter pero no incluye nuevas líneas.
\ Para caracteres que son literales, indica que el carácter siguiente es especial y no se puede interpretar literalmente. Ejemplo: \. Indica un punto literal “.”
() Grupo de operadores que están adentro del paréntesis.
{n} genera n veces del elemento anterior. Por ejemplo: a{2} genera ‘aa’.
{n,m} genera entre n y m instancias del elemento anterior. Por ejemplo: a{2,4} genera ‘aa’, ‘aaa’ o ‘aaaa’.
? Indica ninguno o un elemento anterior. Equivale a {0,1} (0 o 1 vez).
* Indica ninguno o algunos de los elementos anteriores. Equivale a {0,} (0 o mas veces).
+ Indica uno o más de los elementos anteriores. Equivale a {1,} (1 o mas veces).
$ Indica que se verifica por el final de la expresión.
^ Indica que se verifica por el inicio de la expresión.
[^abc] Indica cualquier carácter exceptó a, b o c.

Ejemplos de expresiones regulares:

Dirección IP con expresión regular
\b(?:(?: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]?)\b

Dirección MAC con expresión regular
^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$

Nombre de dominio con expresión regular
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$

Número flotante con expresión regular
[-+]?(?:\b[0-9]+(?:\.[0-9]*)?|\.[0-9]+\b)(?:[eE][-+]?[0-9]+\b)?

Números Romanos con expresión regular
^(?i:(?=[MDCLXVI])((M{0,3})((C[DM])|(D?C{0,3}))?((X[LC])|(L?XX{0,2})|L)?((I[VX])|(V?(II{0,2}))|V)?))$

Fecha con formato yyyy-MM-dd
(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])

(Visitado 3.909 veces, 2 visitas hoy)