Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] Recebendo null no terminal

Boa tarde.

Estou fazendo a captura do texto com a regex mas estou recebendo "null" no terminal. Alguém sabe dizer o que pode ser?

const textoTeste = 'São geralmente recuperados a partir de um objeto [FileList](https://developer.mozilla.org/pt-BR/docs/Web/API/FileList) que é retornado como resultado da seleção, pelo usuário, de arquivos através do elemento [<input>](https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/Input), a partir do objeto [DataTransfer](https://developer.mozilla.org/pt-BR/docs/Web/API/DataTransfer) utilizado em operações de arrastar e soltar, ou a partir da API `mozGetAsFile()` em um [HTMLCanvasElement](https://developer.mozilla.org/pt-BR/docs/Web/API/HTMLCanvasElement). Em Gecko, códigos com privilégiios podem criar objetos File representando qualquer arquivo local sem a intereção do usuário (veja [Implementation notes](https://developer.mozilla.org/pt-BR/docs/Web/API/File#implementation_notes) para mais informações.).';

function extraiLinks(texto) {
    const regex = /\[([ˆ[\]]*?)\]\((https?:\/\/[ˆ\s?#.].[ˆ\s]*)\)/gm;
    const captura = texto.match(regex);
    console.log(captura);

}

extraiLinks(textoTeste);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

Oi, Gustavo

O problema está no acento circunflexo [^].

const textoTeste = 'São geralmente recuperados a partir de um objeto [FileList](https://developer.mozilla.org/pt-BR/docs/Web/API/FileList) que é retornado como resultado da seleção, pelo usuário, de arquivos através do elemento [<input>](https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/Input), a partir do objeto [DataTransfer](https://developer.mozilla.org/pt-BR/docs/Web/API/DataTransfer) utilizado em operações de arrastar e soltar, ou a partir da API `mozGetAsFile()` em um [HTMLCanvasElement](https://developer.mozilla.org/pt-BR/docs/Web/API/HTMLCanvasElement). Em Gecko, códigos com privilégiios podem criar objetos File representando qualquer arquivo local sem a intereção do usuário (veja [Implementation notes](https://developer.mozilla.org/pt-BR/docs/Web/API/File#implementation_notes) para mais informações.).';

function extraiLinks(texto) {
  const regex = /\[([^[\]]*?)\]\((https?:\/\/[^\s?#.].[^\s]*)\)/gm;
  const captura = texto.match(regex);
  console.log(captura);

}

extraiLinks(textoTeste);

Entendi, ele estava marcado de outra cor aqui no VScode, mas como posso resolver?

Vi que ele fica menor do que o normal, mas não sei o motivo de estar dando esse erro.

solução!

Tente digitar novamente ou criar um novo arquivo

( ^ ) e ( ˆ ) são entendidos diferentemente pelo código

O acento circunflexo ( ^ ) tem o código Unicode U+005E.

O acento circunflexo modificador) ( ˆ ) tem o código Unicode U+02C6.

( ^ ) é usado na programação

( ˆ ) usado com vogais: â, ê, î, ô e û.

Se não funcionar. Copie o texto em editor externo, corrija, e depois copie para o VSCode

Se o VSCode alterar sozinho o acento circunflexo ( ^ ) para ( ˆ ), então tem algum plugin instalado fazendo isto

Funcionou brother! Muito obrigado pela ajuda. Não tinha sacado isso, achei que não tinha diferença, pois escrevi direto no vscode e ele já foi nesse formato para vogais.

Mas funcionou aqui, mt obrigado.