The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"URL regex"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"URL regex"  +/
Сообщение от SubGun (ok) on 16-Июл-09, 12:14 
Добрый день.
Нужно обрезать URL, чтобы получить первую и последнюю часть. Например, из url http://www.teztour.com/book/site/images/button_s.gif необходимо получить:
1. http://www.teztour.com
2. button_s.gif
Поскольку  регулярными выражениями я не дружен в принципе, прошу помощи.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • URL regex, phpcoder, 12:18 , 16-Июл-09, (1)  
    • URL regex, SubGun, 12:22 , 16-Июл-09, (2)  
      • URL regex, const86, 13:27 , 16-Июл-09, (7)  
      • URL regex, phpcoder, 13:28 , 16-Июл-09, (8)  
        • URL regex, SubGun, 13:32 , 16-Июл-09, (9)  
    • URL regex, fx, 13:22 , 16-Июл-09, (3)  
      • URL regex, SubGun, 13:25 , 16-Июл-09, (4)  
      • URL regex, phpcoder, 13:25 , 16-Июл-09, (5)  
        • URL regex, SubGun, 13:27 , 16-Июл-09, (6)  

Сообщения по теме [Сортировка по времени | RSS]


1. "URL regex"  +/
Сообщение от phpcoder email(??) on 16-Июл-09, 12:18 
>Добрый день.
>Нужно обрезать URL, чтобы получить первую и последнюю часть. Например, из url
>http://www.teztour.com/book/site/images/button_s.gif необходимо получить:
>1. http://www.teztour.com

coder@ubuntu ~ $ echo 'http://www.teztour.com/book/site/images/button_s.gif' | sed 's|^\(http://[^/]\+\)/.*|\1|'
http://www.teztour.com

>2. button_s.gif
>Поскольку  регулярными выражениями я не дружен в принципе, прошу помощи.

basename 'http://www.teztour.com/book/site/images/button_s.gif'
button_s.gif

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "URL regex"  +/
Сообщение от SubGun (ok) on 16-Июл-09, 12:22 
Спасибо.
Что я делаю не так?

#!/usr/bin/perl

$link = "http://need4soft.ru/engine/classes/tagcloud/tagcloud.swf";
$link =~ s|^\(http://[^/]\+\)/.*|\1|;
print "$link\n";

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "URL regex"  +/
Сообщение от const86 (ok) on 16-Июл-09, 13:27 
my $url = "http://need4soft.ru/engine/classes/tagcloud/tagcloud.swf";
if ($url =~ m|(http://[^/]+).*/([^/]+)|) {
    print "$1\n";
    print "$2\n";
}
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "URL regex"  +/
Сообщение от phpcoder email(??) on 16-Июл-09, 13:28 
>Спасибо.
>Что я делаю не так?

Регулярные выражения, которые работают в sed могут не работать в Perl и наоборот. Либо я не увидел, что раздел про Перл, либо вы этого не указали.

coder@ubuntu ~ $ perl -e '$link = "http://need4soft.ru/engine/classes/tagcloud/tagcloud.swf"; $link =~ s|^(http://[^/]+)/.*|\1|; print "$link\n";'
http://need4soft.ru

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "URL regex"  +/
Сообщение от SubGun (ok) on 16-Июл-09, 13:32 
О, гуру!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "URL regex"  +/
Сообщение от fx (ok) on 16-Июл-09, 13:22 
>coder@ubuntu ~ $ echo 'http://www.teztour.com/book/site/images/button_s.gif' | sed 's|^\(http://[^/]\+\)/.*|\1|'
>http://www.teztour.com

ээ...

fx@freebsd71$ echo 'http://www.teztour.com/book/site/images/button_s.gif' | sed 's|^\(http://[^/]\+\)/.*|\1|'
http://www.teztour.com/book/site/images/button_s.gif

ЧЯДНТ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "URL regex"  +/
Сообщение от SubGun (ok) on 16-Июл-09, 13:25 
В BSD не работает.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "URL regex"  +/
Сообщение от phpcoder email(??) on 16-Июл-09, 13:25 
>>coder@ubuntu ~ $ echo 'http://www.teztour.com/book/site/images/button_s.gif' | sed 's|^\(http://[^/]\+\)/.*|\1|'
>>http://www.teztour.com
>
>ээ...
>
>fx@freebsd71$ echo 'http://www.teztour.com/book/site/images/button_s.gif' | sed 's|^\(http://[^/]\+\)/.*|\1|'
>http://www.teztour.com/book/site/images/button_s.gif
>
>ЧЯДНТ?

Если не ошибаюсь, во FreeBSD нужен ключик -E

P.S. Опять же вылазит несовместимость между sed/awk и прочими утилитками в GNU и BSD. Поэтому либо писать на Перле, либо сразу говорить под какую ОС нужен скрипт.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "URL regex"  +/
Сообщение от SubGun (ok) on 16-Июл-09, 13:27 
спс

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру