Условия в правилах
Условия правил
фильтрации представляют собой регулярные выражения PCRE, применяемые к телу письма,
либо к одному из его заголовков. Условие срабатывает если выражение можно применить
к указанной в условии части письма. В простейшем случае в качестве выражения может
быть просто текст, который нужно проверить на вхождение в определенную часть письма.
Проверка производится без учета регистра. Если вы не хотите разбираться в синтаксисе
регулярных выражений, то вводите текст из букв, цифр и пробелов. Условие будет
искать вхождение введенного выражения в текст и сработает в случае успеха.
Условие может содержать флаг отрицания. Это означает, что условие сработает если
выражение нельзя применить к определенной части письма.
Примеры выражений (кавычки не входят в выражение, под словом текст подразумевается
указанная в условии часть письма - тело или заголовок):
- "foo bar"
Выражение применимо, если в тексте содержится строка "foo bar".
- "foo\s+bar"
То же самое, только без учета количества пустых символов между словами foo
и bar (но должен быть хотя бы один).
- "^foo"
Выражение применимо, если текст начинается с "foo".
- "foo$"
Выражение применимо, если текст оканчивается на "foo".
- "^foo bar$"
Выражение применимо, если текст полностью соответствует строке "foo bar"
В выражениях практически все не алфавитно-цифровые символы являются служебными.
Если Вы не используете механизмы регулярных выражений, но все таки хотите чтобы
текст со служебными символами проверялся как обычный, то перед каждым таким символом
нужно поставить "\". Например "\\doom" будет искать в тексте
строку "\doom", т.к. символ "\" является служебным. Но если
вы введете в качестве выражения просто "\doom", то будет искаться строка
"<цифра>oom", т.к. сочетание "\d" является служебным и соответствует
любой цифре.
Условие можно пометить как сильное. Тогда при его срабатывании соответствующее
правило будет удовлетворено, независимо от остальных условий.
К условию можно применить операцию отрицания при помощи соответствующего флажка.