Автор Тема: Регулярное выражение ???  (Прочитано 3561 раз)

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

  • Гость
Регулярное выражение ???
« : 18 Июля 2002, 11:22:32 »
Помогите пожалуйста :)
Нужно регулярное выражение для выдирания сервернэймов(somehost.ru)
из HTML документов, только из тегов ?">

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение ???
« Ответ #1 : 18 Июля 2002, 12:12:56 »

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярное выражение ???
« Ответ #2 : 18 Июля 2002, 14:22:05 »
$html=~|http://([^:/"\']+)|g;
Литературный перевод с русского и английского на Perl. Дорого!

Unregistered

  • Гость
Регулярное выражение ???
« Ответ #3 : 14 Августа 2002, 14:01:44 »
Предлагаю универсальный вариант:
Допустим, URL содержится в переменной $a

$a =~ tr/A-ZА-Я/a-zа-я/;
$a =~ s/href=[\\"|\\\']?((http)|(ftp)):\\/\\/.+[\\"|\\\']?\\s/href=# /g;

Оффлайн Haze

  • Просто я...
  • Пользователь
  • **
  • Сообщений: 70
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.baltic.ee
Регулярное выражение ???
« Ответ #4 : 14 Августа 2002, 16:58:37 »
знак вопроса пропустили...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Регулярное выражение ???
« Ответ #5 : 15 Августа 2002, 00:33:20 »
А в поиск заглянуть? Этот вопрос поднимался много раз.

ЗЫ. $a =~ tr/A-ZА-Я/a-zа-я/; А где это такие URL а-я?
The documentations is your friend

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Регулярное выражение ???
« Ответ #6 : 15 Августа 2002, 10:55:14 »
В перспективе... ;)

Unregistered

  • Гость
Регулярное выражение ???
« Ответ #7 : 15 Августа 2002, 15:32:57 »
Для NeoNox: эта строчка не нужна. Собственно имя сервера, как видите, задано шаблоном .+ Просто когда я этот алгоритм сочинял, в первых версиях был другой шаблон, и я подумал, что русские буквы тоже надо предусмотреть, потому что если в URL ошибочно попадет русская буква (а такое бывает), то вся эта лабуда работать не будет.

Unregistered

  • Гость
Регулярное выражение ???
« Ответ #8 : 15 Августа 2002, 16:54:05 »
Такой вариант:

$a =~ s/href=\\n*[\\"|\\\']?\\n*((http)|(ftp)):\\/\\/.+\\n*[\\"|\\\']?\\n*\\s/href=# /g;

Здесь предусмотрено наличие переносов строки внутри тэга ссылки. Некоторые HTML-редакторы (e.g., MS FrontPage) любят пихать эти преносы где надо и где не надо.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярное выражение ???
« Ответ #9 : 17 Августа 2002, 00:03:20 »
Вроде бы начинали говорить о выдирании доменных имен, а не полных URL... Я сознательно отбросил даже номер порта (см. выше).

Unregistered
Зачем лишние скобки вокруг "http" и "ftp"?
Литературный перевод с русского и английского на Perl. Дорого!

 

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