У меня есть почтовый клиент Roundcube Webmail v. 1.3.1 с расширением managesieve v. 8.7, и я хочу добавить некоторые действия, управляемые регулярным выражением, для моей почты, и единственная документация, которую я нашел по вкусу регулярных выражений, - этот документ. Однако я не могу найти, какие специальные символы он поддерживает, например \n
(либо это \\n
?), \r
или \d
и т.д. и как их писать. Упоминаются группы персонажей, определенные через [: :]
который работает, но я бы предпочел использовать \n
(который, похоже, не работает) вместо более широкого [:cntrl:]
или [:space:]
или тому подобное.
В документе написано, что он должен поддерживать стандарт POSIX ERE, однако я знаком с различными разновидностями регулярных выражений (тип PERL), поэтому мне это довольно сложно.
Можете ли вы помочь с выяснением, какие специальные символы и последовательности символов в нем поддерживаются? Какие символы не особенные и т. Д.?
Я придумал простое регулярное выражение для сопоставления даты в формате YYYY / MM / DD, затем пространство, затем время в формате HH: MM: SS, затем разрыв строки, а затем все, что в начале тела письма, но это не похоже работает. Вот код 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
Это будет наиболее точная ссылка.