Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. RegExp
  6. RegExp.prototype.exec()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

RegExp.prototype.exec()

Baseline Widely available

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étodoexec() executa a busca por um padrão em uma determinada string. Retorna um array, ounull.

Se você está precisa somente de um retorno verdadeiro/falso, use o métodoRegExp.prototype.test() ouString.prototype.search().

Sintaxe

regexObj.exec(string)

Parâmetros

string

A string para comparar com a expressão regular

Valor retornado

Se a combinação acontecer, o métodoexec() 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étodoexec() seránull.

Descrição

Considere o exemplo abaixo:

js
// Encontra combinações "quick brown" seguido de "jumps", ignorando caracteres entre eles// Relembra "brown" e "jumps"// Ignora caixa (maiúsculo e minúsculo)var re = /quick\s(brown).+?(jumps)/gi;var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog");

A tabela a seguir provê os resultados do script:

ObjetoPropriedade/ÍndiceDescriçãoExemplo
result[0]A string completa dos caracteres encontradosQuick 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
inputString originalThe Quick Brown Fox Jumps Over The Lazy Dog
relastIndex 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
sourceTexto do padrão.quick\s(brown).+?(jumps)

Exemplos

Procurando combinações sucessivas

If your regular expression uses the "g" flag, you can use theexec() method multiple times to find successive matches in the same string. When you do so, the search starts at the substring ofstr specified by the regular expression'slastIndex property (test() will also advance thelastIndex property). For example, assume you have this script:

js
var myRe = /ab*/g;var str = "abbcdefabh";var myArray;while ((myArray = myRe.exec(str)) !== null) {  var msg = "Found " + myArray[0] + ". ";  msg += "Next match starts at " + myRe.lastIndex;  console.log(msg);}

This script displays the following text:

Found abb. Next match starts at 3Found ab. Next match starts at 9

Nota: Do not place the regular expression literal (orRegExp constructor) within thewhile condition or it will create an infinite loop if there is a match due to thelastIndex property being reset upon each iteration. Also be sure that the global flag is set or a loop will occur here also.

Usandoexec() comRegExp literais

You can also useexec() without creating aRegExp object:

js
var matches = /(hello \S+)/.exec("This is a hello world!");console.log(matches[1]);

This will log a message containing 'hello world!'.

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-regexp.prototype.exec

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp