| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > RegExpr определить URL в cтроке |
| Автор: 1Andrey1 20.4.2008, 16:37 |
| Ну, в общем, задача такая: есть строка в которой может быть интернет ссылка, а может и не быть. может быть ссылка и какойнибудь текст. Так вот как бы при помощи RegExpr определить строки в которых есть только одна ссылка? то есть если в строке кроме ссылки какой нибудь текст она не нужна и если ссылок несколько они тоже не нужны. |
| Автор: MetalFan 20.4.2008, 16:44 |
| приведи конкретные примеры строк |
| Автор: 1Andrey1 20.4.2008, 16:56 |
| Конкретных примеров не приведу... вот почему. Я делаю программу которая сортирует музыку на основе тегов. В общем расписывать долго, если комуто интересно, то вот тема на http://viaccessfree.biz/forum/showthread.php?t=28366 о моей программе. А строки о которых я спрашивал - это теги песен, просто часто всякие несознательные товарищи заполняют их ссылками(ну там на свой сайт например) естественно на весь альбом эти теги-ссылки получаются одинаковые и программа их обрабатывает не совсем правильно. Вот поэтому и хотелось бы как нибудь их обнаруживать. А почему только если одна ссылка? Потому что так же часто бывают теги в виде "D.I.P project - где ты[www.mp3-online.com.ua]" |
| Автор: source777 20.4.2008, 17:06 |
| 21Andrey1 Лови мой вариант: ^(https?://)?([a-z0-9-]+[a-z0-9]\.)*[a-z]{2,6}(:[0-9]+)?(/[_a-z0-9.%]*)*(\?(&?[a-z0-9%]+=[a-z0-9%]*)*)?(#[a-z]+)?$ P.S. Он подходит для широкого класса URL, в том числе и с get-параметрами и якорями, при желании можно урезать этот диапазон... |
| Автор: 1Andrey1 20.4.2008, 17:15 |
| source777, спасибо конечно, но это не совсем то что я хотел. Я так понял твое выражение ищет ссылки вида "http:\\........", а мне бы "www. ....." и самое главное как определить что ничего кроме ссылки нет? |
| Автор: 1Andrey1 20.4.2008, 19:30 | ||
чтото не пойму как его применить? что я делаю не так?
|
| Автор: source777 20.4.2008, 20:57 |
| А с какого перепугу ты пробел в начало регулярки добавил? ведь это коренным образом извращает весь её смысл... |
| Автор: 1Andrey1 20.4.2008, 22:07 |
| блин, точно source777, спасибо большое все работает как надо |