Saltar al contenido principal
eLearner.app
Módulo 4 · Lección 1 de 413/32 en el curso~10 min
Lecciones del módulo (1/4)

Grupos de captura: `(...)`

Los paréntesis (...) tienen dos funciones en una:

  1. Agrupar subpatrones, para que un cuantificador se aplique a todo el grupo ((ab)+ coincide con ab, ababmulti_replace_file_content, ababab).
  2. Capturar la subcadena coincidente, exponiéndola como un grupo numerado accesible por separado (grupo 1, 2, 3... de izquierda a derecha según el paréntesis de apertura).
Code
Pattern: (\d{4})-(\d{2})-(\d{2})
Sample:  Data: 2024-03-15.
               ^^^^^^^^^^
Gruppi:
  match  = "2024-03-15"
  gruppo1 = "2024"
  gruppo2 = "03"
  gruppo3 = "15"

El editor de la derecha muestra los grupos debajo de cada coincidencia.

Cuantificar un grupo

Sin paréntesis, ab+ significa "una a seguida de una o más b". Con paréntesis se convierte en "uno o más ab":

Code
Pattern   Matcha su 'ababab':
ab+       'ab' (poi 'a' e 'b' separati, non collegati)
(ab)+     'ababab' come gruppo unico

Índices de los grupos de captura y uso

Cada par de paréntesis que no esté precedido por caracteres especiales crea un grupo de captura numerado. El grupo 1 corresponde al primer paréntesis de apertura, el grupo 2 al segundo, y así sucesivamente. En JavaScript, puedes acceder a estos grupos a través del array devuelto por exec o matchAll.

Pruébalo tú

Ejercicio#regex.m4.l1.e1
Intentos: 0Cargando...

Encuentra cada fecha en formato AAAA-MM-DD, capturando el año, mes y día como tres grupos separados.

Cargando editor...
Mostrar pista

Envuelve cada uno de los tres bloques de dígitos entre paréntesis: cada uno crea un grupo numerado.

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#regex.m4.l1.e2
Intentos: 0Cargando...

Encuentra cada repetición de `ab` (una o más) como una sola coincidencia. Sin paréntesis, el cuantificador se aplicaría solo a la última `b`.

Cargando editor...
Mostrar pista

(ab)+ trata 'ab' como una unidad y busca una o más repeticiones consecutivas.

Solución disponible después de 3 intentos

Desafío adicional

Ejercicio#regex.m4.l1.e3
Intentos: 0Cargando...

Crea tres grupos de captura para extraer el día, mes y año por separado de las fechas en formato `DD/MM/YYYY`.

Cargando editor...
Mostrar pista

Encierra cada \d{2} o \d{4} entre paréntesis.

Solución disponible después de 3 intentos