Get to know MDN better
Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
O método exec() executa a busca por um padrão em uma determinada string. Retorna um array, ou null.
Se você está precisa somente de um retorno verdadeiro/falso, use o método RegExp.prototype.test() ou String.prototype.search().
A string para comparar com a expressão regular
Se a combinação acontecer, o método exec() o método retorna um array e atualiza as propriedades do objeto da expressão regular. Esse array retornado possui o texto combinado como primeiro item e depois um item para cada captura contendo o respectivo texto.
Se falhar, o retorno do método exec() será null.
Considere o exemplo abaixo:
A tabela a seguir provê os resultados do script:
| Objeto | Propriedade/Índice | Descrição | Exemplo |
| result | [0] | A string completa dos caracteres encontrados | Quick Brown Fox Jumps |
| [1], ...[n ] | As combinações de substrings parametrizadas encontradas, se existir. A quantidade de possíveis substrings parametrizadas é ilimitado. |
[1] = Brown [2] = Jumps |
|
| index | O índice base 0 do valor encontrado na string. |
4 | |
| input | String original | The Quick Brown Fox Jumps Over The Lazy Dog | |
| re | lastIndex | O índice que começa a próxima combinação encontrada. Quando "g" não é definido, este valor será sempre 0. | 25 |
| ignoreCase | Indica se a flag "i" foi usada para ignorar caixa alta/baixa. | true | |
| global | Indica se a flag "g" foi usada para encontrar combinações de forma global. | true | |
| multiline | Indica se a flag "m" foi usada para pesquisar em strings de diversas linhas. | false | |
| source | Texto do padrão. | quick\s(brown).+?(jumps) |
If your regular expression uses the "g" flag, you can use the exec() method multiple times to find successive matches in the same string. When you do so, the search starts at the substring of str specified by the regular expression's lastIndex property (test() will also advance the lastIndex property). For example, assume you have this script:
This script displays the following text:
Found abb. Next match starts at 3 Found ab. Next match starts at 9Nota: Do not place the regular expression literal (or RegExp constructor) within the while condition or it will create an infinite loop if there is a match due to the lastIndex property being reset upon each iteration. Also be sure that the global flag is set or a loop will occur here also.
You can also use exec() without creating a RegExp object:
This will log a message containing 'hello world!'.
| ECMAScript® 2027 Language Specification # sec-regexp.prototype.exec |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 de dez. de 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.