Извините, что беспокою вас, ребята, но вот моя дилемма.
Должно быть «лучшее» регулярное выражение для идентификации HTML-ссылки из текста абзаца (в тексте может быть более 1 HTML-ссылки). Как извлечь всю ссылку и закрепить ее в javascript?
Моя попытка (в javascript) выглядит так:
var urlPattern = "(https?|ftp)://(www\\.)?(((([a-zA-Z0-9.-]+\\.){1,}[a-zA-Z]{2,4}|localhost))|((\\d{1,3}\\.){3}(\\d{1,3})))(:(\\d+))?(/([a-zA-Z0-9-._~!$&'()*+,;=:@/]|%[0-9A-F]{2})*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:/?@]|%[0-9A-F]{2})*)?(#([a-zA-Z0-9._-]|%[0-9A-F]{2})*)?";
function extractURLs(s) {
return s.match(new RegExp(urlPattern));
}
//s is of type String
//For testing...
var text = "Check this video out http://ww w.youtube.com/watch?v=y3U3R3b1dOg or http://www.youtube.com/watch?v=sX6Vm0MoPCY";
alert(extractURLs(text));
(пробелы в гиперссылке были намеренно добавлены здесь, чтобы разрешить размещение вопроса в SO).
Результат: я получаю только 1-ю гиперссылку, а не вторую ....
Кто-нибудь сделал что-то подобное или лучше, что я могу использовать?
Заранее спасибо.