Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||
www.lissyara.su
—> документация
—> EXIM
|
|
Удвоение обратного слэша требуется, поскольку раскрытие строки предшествует интерпретации - смотрите раздел 11.1 для подробного рассмотрения этой темы, и способов не удваивать обратные слэши. Регулярное выражение, использующееся в этом примере, в конечном счёте содержит только один обратный слэш. Крышка включена в него, и её нормальный эффект -
“постановка на якорь
” выражения в начале строки.
“
Однако, есть два случая, когда где крышка не требуется для распознания регулярного выражения: это условие match
” в строке раскрытия и условие
“matches
” в файле фильтра exim. В этих случаях, уместная строка всегда обрабатывается как регулярное выражение; если выражение не начинается с крышки, то оно не поствлено на якорь и может соответствовать в любом месте строки объекта.
“
Во всех случаях, если вы хотите, чтобы регулярное выражение совпадало с концом строки, вы можете использовать метасимвол $
” для указания этого. Например:
|
совпадает с доменом
“123.example
”, но также соответствует
“123.example.com
”. Вам нужно использовать:
|
если вы хотите чтобы
“example
” был доменом высшего уровня. Обратный слэш перед
“$
” необходим, поскольку раскрытие строки также интерпретирует символ доллара.
8.1 Тестирование регулярных выражений
Программа называемая
“pcretest
” является частью дистрибутива PCRE и собирается с PCRE в процессе сборки exim. После сборки exim`a бинарник может быть найден в директории где собирался exim (если она не проинсталлилась где-то автоматически). Существует документация для различных опций в
“doc/pcretest.txt
”, но для одиночного теста она не требуется. Это - вывод образца запуска
“pcretest
”:
|
Ввод пользователя показан жирным шрифтом. После подсказки
“re>
”, ожидается регулярное выражение внутри разделителей. Если оно компилится без ошибок, даётся подсказка
“data>
” напротив строки соответствующей выражению. Пустая линия приводит к чтению нового регулярного выражения. Если было успешной совпадение, показываются зафиксированные значения подстроки (то есть, что было бы в переменных 0 $, 1 $, 2 $, и т. д.). Вышеупомянутый пример проверяет на адрес электронной почты, домен которого заканчивается или
“ac
” или
“edu
”, сопровождаемым двухсимвольным вышестоящим доменом, который не
“kr
”. Локальная часть находится в $1 и
“ac
” или
“edu
” в $2.
=============
translated by lissyara
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK