1
resposta

groups: undefined

Estava fazendo uns testes de código e o resultado me trouxe algumas dúvidas.

O código é:

const equacao = "3x²+2x=0";

const regex = /\d(x²|x2)/g;

var resultado = regex.exec(equacao)

O valor impresso foi:

[ '3x²', 'x²', index: 0, input: '3x2+2x=0', groups: undefined ]

-Por quê ele seleciona duas vezes a mesma parte do código, uma vez completa e outra só a parte que foi definida na variável "regex"? -Por quê os grupos estão como undefined? Escrevi algo errado?

Obrigado desde já!

1 resposta

Fala Gabriel, tudo bem?

Esta tudo certo, aparecem duas vezes pois, a primeira seriam as combinações encontradas, ou seja, os "matches" que bateram com a nossa regex, e o segundo seria a string que estamos executando a regex, você pode ver mais sobre isso clicando aqui para acessar a documentação dessa função. E sobre os grupos, você pode acessar como uma array, assim:

console.log(resultado[0]) //3x²
console.log(resultado[1]) //x²

Ou você pode acessar um tópico do Stackoverflor para ver um pouco mais sobre esse problema.

Espero ter ajudado, bons estudos :D