Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн maxjet

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Регулярные выражения Squid
« : 16 Августа 2010, 22:31:25 »
Пишу в acl такое выражение:
^http://\d*.\d*.\d*.\d*

чтоб ловить такие ссылки:
http://192.168.0.4/hjdgfh/rt.ru
всё работает!

а мне надо:
^http://(?!192)\d*.\d*.\d*.\d*
это выражение выдает ошибку, кто знает, почему синтаксис regexp в squid отличается от общепринятого, и как с этим бороться?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Регулярные выражения Squid
« Ответ #1 : 17 Августа 2010, 00:27:50 »
Что значит общепринятый? В каноническом синтаксисе регулярных выражениях "POSIX Basic Regular Expression (BRE)" расширение опережающих просмотров никогда не было. Но они есть в расширенном варианте "Perl Compatible Regular Expression (PCRE)". А в squid, к сожалению, используется нотация регулярных выражений "POSIX Extended Regular Expression (ERE)"

Оффлайн maxjet

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Регулярные выражения Squid
« Ответ #2 : 17 Августа 2010, 07:22:58 »
Очень интересно. А что на счет выражения, можно как-то с пост-условием?

 

Страница сгенерирована за 0.049 секунд. Запросов: 25.