Перевод: Доморадов Алексей. Все права защищены. Copyright © 2007.
Примечание: При размещении данного материала у себя на сайте, просьба указывать ссылку на оригинальный сайт - www.sys-adm.org.ua.
Все замечания и предложения по переводу документации на русский язык, а также найденные ошибки и опечатки присылайте на мой электронный адрес.
Благодарности: Спасибо всем, кто помогал мне переводить эту документацию.
Особенное спасибо: Галинурову Кириллу и Грозаку Михаилу aka RedStalker_Mike.
Special thanks to: Igor Luzanov aka ISKATEL.
Дополнительный тип карты "pcre" позволяет вам указывать регулярные выражения в стиле нотации PERL, как, например, "\s" - для 'пробел'-а и "\S" - для 'не-пробел'-а. Основное преимущество, однако - это то, что pcre просмотры зачастую быстрее, чем regexp просмотры. Это достигается за счет того, что pcre реализация часто более эффективна, чем реализация регулярных выражений POSIX, которую вы сможете найти на большинстве систем.
Описание использования pcre таблиц, включая примеры, приведено в руководстве пользователя pcre_table(5). Информация о самих PCRE может быть найдена на http://www.pcre.org/.
Примечание: для использования pcre с Debian GNU/Linux's Postfix, все, что вам нужно - это установить пакет postfix-pcre. Нет необходимости пересобирать Postfix.
В будущем, Postfix будет иметь плагин интерфейс для добавления типов карт. А пока вам необходимо встроить поддержку PCRE в Postfix.
Прежде всего, вам необходима PCRE библиотека (Perl Compatible Regular Expressions - Перл Совместимые Регулярные Выражения), которая может быть получена с:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/.
ПРИМЕЧАНИЕ: версии pcre до 2.06 не могут быть использованы.
При сборке Postfix с поддержкой PCRE вам необходимо добавить -DHAS_PCRE. а так же ключ -I при CCARGS для заголовочного файла PCRE, а также добавить путь к библиотеки PCRE в AUXLIBS, например:
make -f Makefile.init makefiles \
"CCARGS=-DHAS_PCRE -I/usr/local/include" \
"AUXLIBS=-L/usr/local/lib -lpcre"
Solaris также необходима информация о путях во время выполнения:
make -f Makefile.init makefiles \
"CCARGS=-DHAS_PCRE -I/usr/local/include" \
"AUXLIBS=-L/usr/local/lib -R/usr/local/lib -lpcre"
Когда Postfix ищет pcre: или regexp: таблицу просмотра, каждый шаблон применяется ко всей входной строке. В зависимости от приложения, эта строка может быть - имя клиента, IP адрес клиента или почтовый адрес. Таким образом, поиск родительского домена или сети не производится, Почтовый адрес "user@domain" не разбивается на пользовательскую и доменную части, а "user+foo" не разбивается на user и foo.
Таблицы регулярных выражений такие, как pcre: или regexp: не позволяют производить замену $number в результатах выборки, которые могут быть связаны с системной безопасностью (в настоящее время, эти ограничения применяются к локальной базе данных псевдонимов или к таблицам виртуального агента доставки.
| Дата последнего обновления: 30.10.2008. | Postfix version: 2.3.4. |