Saltar al contenido

Expresiones Regulares en JavaScript

Introducción a las Expresiones Regulares (Regex) en JavaScript

Las expresiones regulares, comúnmente conocidas como regex, son secuencias de caracteres que forman patrones de búsqueda. Son herramientas esenciales en la programación para tareas de procesamiento de texto como buscar, editar y manipular datos de cadenas. La regex se utiliza en diversos campos como la validación de datos, el análisis sintáctico, el resaltado de sintaxis y más.

Por ejemplo, puedes validar rápidamente una dirección de correo electrónico en JavaScript:

javascript
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
console.log(emailRegex.test("[email protected]")); // true

Nota: Este es un patrón simplificado. Para validación en producción, considera reglas más estrictas o bibliotecas especializadas.

Dónde se utiliza Regex:

  • Desarrollo web: Validación de entradas de formularios, análisis de URLs y búsqueda dentro del contenido.
  • Análisis de datos: Extracción de patrones específicos de grandes conjuntos de datos.
  • Edición de texto: Búsqueda y reemplazo de texto en documentos o repositorios de código.
  • Lenguajes de programación: La mayoría de los lenguajes de programación modernos, incluido JavaScript, admiten regex.

Referencia rápida: Banderas y Cuantificadores

CategoríaSímbolo/BanderaDescripción
BanderasiCoincidencia sin distinguir mayúsculas y minúsculas
gCoincidencia global (encuentra todas las coincidencias)
mModo multilínea (^ y $ coinciden con los límites de línea)
sModo dotall (. coincide con saltos de línea). Requiere soporte ES2018+.
uModo Unicode
yModo pegajoso (solo coincide desde lastIndex)
Cuantificadores*0 o más veces
+1 o más veces
?0 o 1 vez
{n}Exactamente n veces
{n,}n o más veces
{n,m}Entre n y m veces

Objetivos de aprendizaje

Al explorar los siguientes temas, obtendrás una comprensión completa de regex en JavaScript:

  1. Patrones y banderas: Aprende los fundamentos para construir patrones regex y el impacto de diferentes banderas (i, g, m, s, u, y) en el comportamiento de regex.
  2. Clases de caracteres: Comprende cómo coincidir con diferentes tipos de caracteres utilizando conjuntos predefinidos.
  3. Soporte Unicode: Descubre el uso de la bandera u y los escapes de propiedades Unicode para manejar texto multilingüe.
  4. Anclas: Utiliza anclas como ^ y $ para coincidir con el inicio y el final de las cadenas.
  5. Modo multilínea: Implementa la bandera m para habilitar la coincidencia de cadenas multilínea.
  6. Límites de palabra: Emplea `\b` para detectar límites de palabra dentro del texto.
  7. Escapar caracteres especiales: Aprende a escapar caracteres especiales para incluirlos en los patrones.
  8. Conjuntos y rangos: Define conjuntos de caracteres y rangos para una coincidencia más flexible.
  9. Cuantificadores: Utiliza cuantificadores (+, *, ?, {n}) para especificar el número de ocurrencias.
  10. Cuantificadores codiciosos y perezosos: Diferencia entre cuantificadores codiciosos y perezosos para controlar el comportamiento de la coincidencia.
  11. Grupos de captura: Utiliza paréntesis para capturar grupos de caracteres para su uso posterior.
  12. Retroreferencias: Reutiliza grupos capturados dentro de la misma regex mediante retroreferencias.
  13. Alternancia: Coincide con uno de varios patrones posibles utilizando el operador de alternancia (|).
  14. Lookahead y Lookbehind: Aplica lookahead y lookbehind para aserciones de ancho cero.
  15. Retroceso catastrófico: Identifica y mitiga problemas de rendimiento causados por el retroceso.

Al finalizar estas lecciones, serás competente en la creación de patrones regex efectivos para diversas tareas de procesamiento de texto en JavaScript.

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.