Gerald Galster
2018-May-08 06:20 UTC
[sieve][regex] Matching multiple strings in the "Received" header
Hello Adi, did you try: " from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com) " If you need to specify the posix character class: [[:blank:]] means space and tab. With pcre it would be like [ \t] [[:space:]] includes space, tab, newline, linefeed, formfeed, vertical tab (in pcre like [ \t\n\r\f\v]) "[[:blank:]]from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)[[:blank:]]" Best regards, Gerald> Am 08.05.2018 um 03:38 schrieb Adi Pircalabu <adi at ddns.com.au>: > > On 08-05-2018 2:43, Benny Pedersen wrote: >> Adi Pircalabu skrev den 2018-05-07 05:10: >>> How should I write it to also match the space character at both the >>> beginning and end of the expression? >> use \ before space char > > Tks. Just tried these two, unsuccessfully: > "\.from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)\." > "\ from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)\ " > > However, this expression always matches: > "from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)" > > What am I missing? > > --- > Adi Pircalabu
Adi Pircalabu
2018-May-08 06:42 UTC
[sieve][regex] Matching multiple strings in the "Received" header
On 08-05-2018 16:20, Gerald Galster wrote:> Hello Adi, > > did you try: > > " > from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com) > " > > If you need to specify the posix character class: > > [[:blank:]] means space and tab. With pcre it would be like [ \t] > [[:space:]] includes space, tab, newline, linefeed, formfeed, vertical > tab (in pcre like [ \t\n\r\f\v]) > > "[[:blank:]]from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)[[:blank:]]"Thanks Gerald, none of your solutions worked, but I've just figured it out now. In the expression the space should only be added at the end, *not* at the beginning! In the Received header the first character isn't [[:blank:]], but "f", so I've been chasing the wild goose all this time because I started with the wrong assumption :) Sorry for the noise, all good now. Cheers, --- Adi Pircalabu
Stephan Bosch
2018-May-08 08:19 UTC
[sieve][regex] Matching multiple strings in the "Received" header
Op 08/05/2018 om 08:42 schreef Adi Pircalabu:> On 08-05-2018 16:20, Gerald Galster wrote: >> Hello Adi, >> >> did you try: >> >> " >> from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com) >> " >> >> If you need to specify the posix character class: >> >> [[:blank:]] means space and tab. With pcre it would be like [ \t] >> [[:space:]] includes space, tab, newline, linefeed, formfeed, vertical >> tab (in pcre like [ \t\n\r\f\v]) >> >> "[[:blank:]]from.*(outbound.protection.outlook.com|.google.com|.yahoo.com|mx.aol.com)[[:blank:]]" >> > > Thanks Gerald, none of your solutions worked, but I've just figured it > out now. In the expression the space should only be added at the end, > *not* at the beginning! In the Received header the first character > isn't [[:blank:]], but "f", so I've been chasing the wild goose all > this time because I started with the wrong assumption :) > Sorry for the noise, all good now.Also keep in mind that "\" is first used for escaping the string itself, meaning that these need to be duplicated. https://tools.ietf.org/html/rfc5228#section-2.4.2 https://tools.ietf.org/html/draft-murchison-sieve-regex-08#section-3 Regards, Stephan.
Apparently Analagous Threads
- [sieve][regex] Matching multiple strings in the "Received" header
- [sieve][regex] Matching multiple strings in the "Received" header
- [sieve][regex] Matching multiple strings in the "Received" header
- [sieve][regex] Matching multiple strings in the "Received" header
- [sieve][regex] Matching multiple strings in the "Received" header