Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Помогите "допилить" регулярку.


Автор: nule 16.11.2011, 15:35
Здравствуйте!
Вот такая регулярка для поиска текстовых ссылок на определенные сайты:
Код

/((?:https?\:\/\/)*w*\.*(?:imdb|nfomation|youtube|nfo\.sceper)\.[\w\d:#@%/;$()~_?\+-=\\\.&]*)/gi;

Но иногда за текстом ссылки без пробела следует тег <br \>, либо <!--
Естественно, теги прилипают к ссылке.
Пробовал добавить в конец регулярки [^(?:<br)|(?:<\!\-\-] - не работает. (?=(?:<br //>)) - тоже не работает.
Подскажите, пожалуйста, как сделать?
Спасибо!

Автор: Evghenusi 16.11.2011, 15:47
оффтоп:
Цитата(nule @  16.11.2011,  15:35 Найти цитируемый пост)
@%/;$
слэш экранировать не надо?

Цитата(nule @  16.11.2011,  15:35 Найти цитируемый пост)
(?=(?:<br //>))
два слэша подряд это что?

Добавлено через 9 минут и 6 секунд
Цитата(nule @  16.11.2011,  15:35 Найти цитируемый пост)
Подскажите, пожалуйста, как сделать?
попробуй для начала заэкранировать тире которое идёт после плюса.

Автор: Evghenusi 16.11.2011, 16:04
из-за того что в РВ тире не за экранировано, получился некий диапазон символов от + до =, а он в себя включает 
Цитата
+,-./0123456789:;<=

Автор: nule 16.11.2011, 17:57
Да нет, регулярка ссылки правильно обрабатывает, проверено. Проблема в том, что она захватывает всё до первого пробела, а надо как-то добавить, чтобы захватывала всё до "<br".

Автор: nule 16.11.2011, 18:58
Цитата(Evghenusi @ 16.11.2011,  16:04)
из-за того что в РВ тире не за экранировано, получился некий диапазон символов от + до =, а он в себя включает 
Цитата
+,-./0123456789:;<=

Аа, ну наконец-то въехал. В очередной раз спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)