Método exec() de RegExp en JavaScript
- la página anterior compile()
- Página siguiente test()
- Volver a la capa superior Manual de referencia de JavaScript RegExp
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);
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);
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, retorna
A 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, retorna
null
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() |
- la página anterior compile()
- Página siguiente test()
- Volver a la capa superior Manual de referencia de JavaScript RegExp