Автор Тема: Регулярка  (Прочитано 6631 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Frodo[mW]

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« : 19 Апреля 2003, 20:13:33 »
Ну не любят они меня :)

есть адреса типа

mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/
http://mail.com

в итоге нужно получить только mail.com. убрать и слеши и хттп и ввв, а если идет только ип, то его не трогать, а оставить в таком же состоянии :)

Оффлайн Frodo[mW]

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #1 : 19 Апреля 2003, 21:24:44 »
уже не надо :)
$host[$i]=~s/^(http:\\/\\/www\\.|http:\\/\\/|www\\.)(.*)/$2/;

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #2 : 19 Апреля 2003, 21:38:36 »
Хотя возможно так былобы получше
(^http://www\\.|^http://|^www\\.|^)([^/]*)(/|$)

попробуй прогнать mail.com/ind.html?asd
или http://

Оффлайн scalar

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #3 : 19 Апреля 2003, 21:48:46 »
@array=qw(
mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/
http://mail.com);

foreach(@array)
{
   s#^(?:http://)?(?:www\\.)?##;
   s#/$##;
}

print "@array";

Оффлайн scalar

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #4 : 19 Апреля 2003, 21:55:55 »
OR

foreach(@array)
{
   s#^(?:http://)?(?:www\\.)?##;
   s#/.*$##;
}

Оффлайн Frodo[mW]

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #5 : 19 Апреля 2003, 22:14:47 »
Всем пасиб :)

Оффлайн scalar

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярка
« Ответ #6 : 19 Апреля 2003, 22:30:09 »
Нет вот ещё быстрое решение для массивов И всё :)

   my @array=qw(
mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/index.html?ttt
http://mail.com);

@array=map{m#^(?:http://)?(?:www\\.)?([^/]*)#}@array;
print "@array";

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28