Как найти и получить ссылку в строке node js

Хочу сделать парсер ссылок для бота, но меня интересует сам процесс определения в строке ссылки

Я нашел то что меня интересует, но ссылки бывают разные, а с регулярками у меня очень и очень плохо.

вот что я нашел

string.match("((http|https):\/\/)?(www.)?([a-z0-9-]+\.)+[a-z]{2,6}");

Но она не принимает параметры и если ссылка выйдет типа https://test.test2.ru, то в ответ я получу только https://test.test2, если я дополню регулярку, мне не совсем понятно как получить параметры, есть ли способ как сделать универсальный парсер ссылок из строки

В данной строке присутствует ссылкаhttps://test.test2.ru/parametr1 и ссылка https://test2.ru (пробел отсутствует специально)

Я находил много примеров, но не один не удовлетворяет задачи

Дополнение:

checkURL(string) {
    try {
        const stringIsURL = string.match("((http|https):\/\/)?(www.)?([a-z0-9-]+\.)+[a-z]{2,6}");
        new URL(stringIsURL);
        return true;
    } catch {
        return false;
    }

Далее я использую из класса метод

        if (Link.checkURL(message.content)) {
        message.channel.send('В сообщении присутствует ссылка');
    }

Вроде бы все работает, но... Вот по сути то что мне нужно Node JS: Как различить обычную ссылку от ссылки с картинкой, но там уже заранее подготовленные ссылки, а мне нужно получать их из сообщений пользователей, то есть определить в сообщении ссылку


Ответы (0 шт):