2
respostas

links indefinidos - aparece só undefined

boa tarde, eu não sei o que acontece, já refiz e refiz o código, mas o link não aparece no resultado. Segue o meu código:

const chalk = require ('chalk');
const fs = require ('fs');

function extraiLinks (texto) {
    const regex = /\[([^\]]*)\]\(https?:\/\/[^$#\s].[^\s]*\)/gm;
    const arrayResultados = [];
    let temp;
    while ((temp = regex.exec(texto)) !== null) {
        arrayResultados.push ({ [temp[1]]: temp [2] })
    }
    return arrayResultados;
}

function trataErro (erro) {
    throw new Error (chalk.red(erro.code, 'não há arquivo no caminho'));
}

async function pegaArquivo(caminhoDoArquivo) {
    const ecoding = 'utf-8';
    try {
        const texto = await fs.promises.readFile (caminhoDoArquivo, ecoding)
        console.log(extraiLinks(texto));
    } catch(erro) {
        trataErro(erro);
    }
}

pegaArquivo ('C:/Users/cgabr/Desktop/biblio_node_js/texto1.md');

Isso que obtenho como resultado

2 respostas

Regex tinha um erro

const regex = /\[([^\]]*)\]\((https?:\/\/[^$#\s].[^\s]*)\)/gm;

Assim é o certo

Meu também, eu copiei e colei o const regex e tinha um erro. Nunca que eu ia adivinhar.