Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El método exec() ejecuta una busqueda sobre las coincidencias de una expresión regular en una cadena especifica. Devuelve el resultado como array, o null.
Si está ejecutando una expresión regular solo para buscar si algo se cumple o no, usa el método RegExp.prototype.test() o el método String.prototype.search().
Cadena sobre la cual se quiere aplicar la expresión regular
Si se encuentran coincidencial, el método exec() devuelve un array y actualiza las propiedades del objeto de la expresión regular. El array devuelto contiene los elementos encontrados en su primer elemento, y un elemento por cada parte de la expresión regular que se encuentra entre parentesis y se encuentra dentro del texto que fué capturado.
Si la busqueda falla, el método exec() devuelve null.
Considerando el siguiente ejemplo:
La siguiente tabla muestra el resultado de este script:
| Objeto | Propiedad/Índice | Descripción | Ejemplo |
| result | [0] | Todas las partes de la cadena que cumplen la expresión regular | Quick Brown Fox Jumps |
| [1],...[n] |
Las subcadenas entre parentesis que han sido encontradas, si hay alguna. El número de subcadenas encontradas es ilimitado |
[1] = Brown [2] = Jumps |
|
| index | El índice de base-0 del elemento encontrado en la cadena. | 4 | |
| input | La cadena original. | The Quick Brown Fox Jumps Over The Lazy Dog | |
| re | lastIndex | El índice sobre el cual empieza la siguiente busqueda. Cuando no se usa g (busqueda global), esto va a ser siempre 0. | 25 |
| ignoreCase | Indica si la bandera "i" ha sido usada para ignorar mayusculas y minusculas. | true | |
| global | Indica si la bandera "g" fue usada para hacer una busqueda global. | true | |
| multiline | Indica si la bandera "m" fue usada para buscar en cadenas sobre multiples lineas | false | |
| source | El texto del patrón de busqueda | quick\s(brown).+?(jumps) |
Si tu expresión regular contiene la bandera "g", puedes usar el método exec() varias veces para encontrar coincidencias sucesivas en la misma cadena. Cuando lo haces, la busqueda empieza en la subcadena str especificada por la propiedad lastIndex de la expresión regular (test() también movera hacia adelante el indice de la propiedad lastIndex). Por ejemplo, asumiendo que tienes este script:
Este script muestra el siguiente texto:
Se ha encontrado abb. La siguiente coincidencia empieza en el indice 3 Se ha encontrado ab. La siguiente coincidencia empieza en el indice 9Nota: No uses la expresión regular literalmente (o el constructor RegExp) dentro de la condición del bucle while o se creará un bucle infinito si hay una coincidencia, por culpa de que la propiedad lastIndex va a ser reiniciada por cada iteración del bucle. Además asegurate de que has usado la bandera de busqueda global "g" o se creará un bucle también.
También se puede usar exec() sin crear un objeto de RegExp:
Esto logueará un mensaje que contiene 'hola mundo!'.
| ECMAScript® 2027 Language Specification # sec-regexp.prototype.exec |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 dic 2024 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.