Как найти и получить ссылку в строке 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: Как различить обычную ссылку от ссылки с картинкой, но там уже заранее подготовленные ссылки, а мне нужно получать их из сообщений пользователей, то есть определить в сообщении ссылку