Método exec

O método exec realiza uma busca em uma string de acordo com uma expressão regular fornecida. O resultado retornado é a substring encontrada e seus grupos de captura (capturing groups). Além disso, cada chamada subsequente deste método iniciará a busca a partir do ponto onde a substring encontrada anteriormente terminou. Se nenhuma correspondência for encontrada - retorna null.

Sintaxe

javascriptexpressão_regular.exec(string);

Exemplo

Vamos verificar o funcionamento do método:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res1 = reg.exec(str);
console.log(res1);

let res2 = reg.exec(str);
console.log(res2);

let res3 = reg.exec(str);
console.log(res3);

let res4 = reg.exec(str);
console.log(res4);

Resultado da execução do código:

javascript[12]
[34]
[56]
null

Exemplo

Vamos utilizar o método em um loop:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Resultado da execução do código:

javascript[12]
[34]
[56] 

Exemplo

As correspondências encontradas podem ser decompostas em grupos de captura (capturing groups):

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Resultado da execução do código:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Exemplo

Usando a propriedade lastIndex é possível definir a posição a partir da qual se deve iniciar a busca:

javascriptlet str = '12 34 56';

let reg = /\d+/g;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Resultado da execução do código:

javascript[34]
[56]

Exemplo

Usando o modificador y é possível fixar a posição de início da busca:

javascriptlet str = '12 34 56';

let reg = /\d+/y;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Resultado da execução do código:

javascriptnull
[12]

Veja também

  • método test,
    que verifica uma string
  • método match,
    que busca correspondências em uma string
  • método matchAll,
    que busca todas as correspondências em uma string
  • método replace,
    que realiza busca e substituição
  • método search,
    que realiza uma busca
  • método split,
    que divide uma string