Sintaxis Básica
Las expresiones regulares son herramientas poderosas de coincidencia de texto utilizadas para encontrar, reemplazar o validar patrones específicos en cadenas.
¿Qué son las Expresiones Regulares?
Las expresiones regulares son patrones compuestos de caracteres ordinarios y caracteres especiales, utilizados para describir reglas de coincidencia para cadenas.
Ejemplos Simples:
hello - coincide con la cadena "hello"
\d - coincide con cualquier dígito
[a-z] - coincide con cualquier letra minúscula
Componentes Básicos
- Caracteres Ordinarios: coinciden directamente con el carácter mismo
- Metacaracteres: caracteres con significados especiales
- Cuantificadores: especifican el número de coincidencias
- Clases de Caracteres: coinciden con cualquier carácter de un grupo
Metacaracteres
Los metacaracteres son caracteres especiales que tienen significados específicos en las expresiones regulares.
Metacaracteres Comunes:
. - coincide con cualquier carácter excepto nueva línea
^ - coincide con el inicio de una cadena
$ - coincide con el final de una cadena
* - coincide con 0 o más del elemento precedente
+ - coincide con 1 o más del elemento precedente
? - coincide con 0 o 1 del elemento precedente
Cuantificadores
Los cuantificadores especifican cuántas veces debe coincidir un carácter o grupo.
Cuantificadores Comunes:
{n} - coincide exactamente n veces
{n,} - coincide n o más veces
{n,m} - coincide entre n y m veces
Clases de Caracteres
Las clases de caracteres permiten coincidir con cualquier carácter de un conjunto de caracteres.
Clases de Caracteres Comunes:
[abc] - coincide con a, b, o c
[a-z] - coincide con cualquier letra minúscula
[0-9] - coincide con cualquier dígito
[^abc] - coincide con cualquier carácter excepto a, b, o c
Grupos
Los grupos permiten aplicar cuantificadores a múltiples caracteres y capturar texto coincidente.
Ejemplos de Grupos:
(abc) - coincide con "abc" como grupo
(abc)+ - coincide con uno o más grupos "abc"
(a|b) - coincide con "a" o "b"
Anclas
Las anclas especifican la posición en la cadena donde debe ocurrir una coincidencia.
Anclas Comunes:
^ - inicio de cadena
$ - final de cadena
\b - límite de palabra
\B - no límite de palabra
Banderas
Las banderas modifican cómo se interpreta la expresión regular.
Banderas Comunes:
g - coincidencia global (encontrar todas las coincidencias)
i - insensible a mayúsculas
m - modo multilínea
s - punto coincide con nueva línea
Técnicas Avanzadas
Técnicas avanzadas de expresiones regulares para coincidencia de patrones complejos.
Patrones Avanzados:
(?=pattern) - lookahead positivo
(?!pattern) - lookahead negativo
(?<=pattern) - lookbehind positivo
(? - lookbehind negativo
Ejercicios de Práctica
Prueba tu conocimiento con estos ejercicios prácticos.
Ejercicio 1: Validación de Email
Crea una regex para validar direcciones de email.
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Ejercicio 2: Número de Teléfono
Crea una regex para coincidir con números de teléfono.
^1[3-9]\d{9}$
Ejercicio 3: Formato de Fecha
Crea una regex para coincidir con formato de fecha YYYY-MM-DD.
^\d{4}-\d{2}-\d{2}$