Método exec() de RegExp en JavaScript

Definición y uso

exec() Método que prueba coincidencias en la cadena.

Este es un método de coincidencia de patrón genérico.

Si se encuentra una coincidencia, se devuelve el array de resultados, de lo contrario se devuelve método para recorrer todos los textos coincidentes en la cadena. Cuando exec() ya no encuentra texto coincidente, retorna

Ejemplo

Ejemplo 1

Búsqueda del carácter "e" en la cadena:

let text = "The best things in life are free";
let result = /e/.exec(text);

Prueba por tu cuenta

Ejemplo 2

Búsqueda global de "Hello" y "W3School" en la cadena:

let text = "Hello world!";
// Buscar "Hello"
let result1 = /Hello/.exec(text);
// Buscar "W3School"
let result2 = /W3School/.exec(text);

Prueba por tu cuenta

Sintaxis

nota, sin importar.exec(es una expresión regular global,)

Parámetro

Parámetro descripción
es una expresión regular global, Requerido. La cadena a buscar.

Valor devuelto

Tipo descripción
Array Si se encuentra una coincidencia, se contiene un array con el texto coincidente, de lo contrario se devuelve null.

Detalles técnicos

Valor devuelto

Array, que almacena los resultados de la coincidencia. Si no se encuentra una coincidencia, el valor es método para recorrer todos los textos coincidentes en la cadena. Cuando exec() ya no encuentra texto coincidente, retornaA continuación, se describe el formato del array devuelto.

lanza

Tipo descripción
TypeError lanza esta excepción si el objeto que llama no es RegExp.

Explicación

en todos los métodos de coincidencia de patrón RegExp y los métodos de coincidencia de patrón Stringexec() tienen la funcionalidad más poderosa. Es un método genérico, más fácil de usar que RegExp.test()String.replace() agregan detalles completos al array que retornan. Esto es y muy complejos.

exec() Se buscará la cadena es una expresión regular global,obtenemos con la expresión regular nota, sin importar el texto coincidente. Si exec() Se encontró el texto coincidente, y se devolverá un array de resultados. De lo contrario, se devolverá método para recorrer todos los textos coincidentes en la cadena. Cuando exec() ya no encuentra texto coincidente, retorna。Este es el primer elemento del array de retorno que coincide con la expresión. El segundo elemento coincide con nota, sin importar primer subexpresión (si existe). El segundo elemento es la coincidencia de la nota, sin importar segunda subexpresión (si existe).exec() primera subexpresión (si existe). El segundo elemento es la coincidencia de la es una expresión regular global,primer subexpresión (si existe). El tercer elemento es la coincidencia de la exec() la coincidencia del segundo subexpresión (si existe). El segundo elemento es la coincidencia del y retorna dos propiedades adicionales. La propiedad index declara la posición del primer carácter del texto coincidente. La propiedad input se refiere a

al llamar a un objeto RexExp no global exec() método, el array que retorna es el mismo que el método nota, sin importar retorna el mismo método que llama. Al llamar al métodoexec() en una llamada a un método de patrón no global nota, sin importar método, realiza la búsqueda y retorna los resultados anteriores. Sin embargo, cuando es una expresión regular global, el comportamiento es un poco más complejo. Cuando nota, sin importar string exec() la propiedad lastIndex del objeto de RexExp se establece en la posición del primer carácter del texto coincidente. Esto significa que se puede comenzar a buscar en la cadena desde el carácter especificado por la propiedad lastIndex de método para recorrer todos los textos coincidentes en la cadena. Cuando exec() ya no encuentra texto coincidente, retornanull

y resetea la propiedad lastIndex a 0. Si se completa una coincidencia de patrón en una cadena y se debe comenzar a buscar en una nueva cadena, se debe restablecer manualmente la propiedad lastIndex a 0. nota, sin importar regexpexec() si es un patrón global, exec() agregan detalles completos al array que retornan. Esto es y String.match() exec() el método es la única forma de obtener información completa de coincidencia de patrones globales. El método en modo global devuelve mucha menos información. De hecho, al llamar repetidamente

soporte del navegador

exec() es una característica de ECMAScript1 (ES1).

Todos los navegadores soportan completamente ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
soportan soportan soportan soportan soportan soportan

métodos de búsqueda de expresiones regulares

En JavaScript, la búsqueda de texto con expresiones regulares se puede realizar con diferentes métodos.

usopatrón (pattern)Como expresiones regulares, estos son los métodos más utilizados:

ejemplo descripción
text.match(patrón) método match() de cadena
text.search(patrón) método search() de cadena
patrón.exec(text) método exec() de RexExp
patrón.test(text) método RexExp test()