У меня есть почтовый клиент Roundcube Webmail v. 1.3.1 с managesieve v. 8. 7 и хочу добавить некоторые действия, управляемые регулярными выражениями, для моей почты, и единственная документация, которую я нашел по разновидности регулярных выражений, - это этот документ . Однако я не могу найти, какие специальные символы он поддерживает, например \ n
(или это \\ n
?), \ r
или \ d
и т.д. и как их писать. Упоминаются группы символов, определенные через [::]
, который работает, однако я бы предпочел использовать \ n
(который, похоже, не работает) вместо более широкого [ : cntrl:]
или [: space:]
или подобное.
В документе написано, что он должен поддерживать стандарт POSIX ERE, однако я знаком с различными вариантами регулярных выражений (PERL type), поэтому мне это довольно сложно.
Не могли бы вы узнать, какие специальные символы и последовательности символов в нем поддерживаются? Какие символы не являются специальными и т. Д.?
Я придумал простое регулярное выражение, чтобы сопоставить дату в ГГГГ / ММ / ДД, затем пробел, затем время в формате ЧЧ: ММ: СС, затем разрыв строки и затем все, что в начале тело письма, но похоже, что оно не работает. Вот код Sieve:
require ["body","fileinto","regex","vacation"];
# rule:[date and time]
if anyof (body :text :regex "[[:digit:]]{2}/[[:digit:]]{2}/[[:digit:]]{4} [[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}[[:space:]](.*[[:space:]]*)*")
{
vacation text:
YOU DID IT!
.
;
}
В документации Sieve, на которую вы ссылаетесь, указано, что она соответствует синтаксису регулярных выражений POSIX, который задокументирован на
http://pubs.opengroup.org/onlinepubs/9699919799/nframe. html
Это будет наиболее полная ссылка.