У меня есть Regex, способный обнаруживать URL-адреса (Раскрытие информации: я скопировал это Regex из Интернета).
Моя цель - разбить строку, чтобы получить массив подстрок, которые либоПолный URL или нет.
Например.
const detectUrls = // some magical Regex
const input = 'Here is a URL: https://google.com <- That was the URL to Google.';
console.log(input.split(detectUrls)); // This should output ['Here is a URL: ', 'https://google.com', ' <- That was the URL to Google.']
Мое текущее решение Regex выглядит следующим образом: /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_\-.~]+)*(\/([a-z0-9_\-.]*)(\?[a-z0-9+_\-.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi;
Однако, когда я запускаю пример кода смое регулярное выражение, я получаю бесполезный ответ:
[ 'Here is a URL: ',
'https://google.com',
'https://',
'google.com',
'google.',
'com',
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
' ',
'<- That was the URL to Google.',
]
Кто-нибудь сможет указать мне правильное направление?Заранее спасибо.