> On 19/01/2019 00:49, Ian Zimmerman via Exim-users wrote:
> > Three possibilities, I don't know which one would work:
> > 
> > $h_x-foo: matches \N"foo[.]? bar$"\N
> > 
> > $h_x-foo: matches "\Nfoo[.]? bar$\N"
> > 
> > $h_x-foo: matches \Nfoo[.]? bar$\N
> > 
> > The documentation, alas, doesn't help.
> > 

Ok, maybe this wasn't very clear.  I'll try again.

Let's say I am trying to match any of these possibilities in the header,
with _one_ match condition:


X-Loosely-Foobar: Foobar

or

X-Loosely-Foobar: Foo bar

or

X-Loosely-Foobar: Foo  Bar


I know all albout regexes, and at this point I'll even say immodestly
that I understand the Exim configuration file quite well.  However, this
isn't in the configuration file proper, but in a filter; and even aside
from that, the crucial point _how quoting and \N interact_ is just not
addressed in the spec.

I tried all of the following.  The first two are syntactically invalid;
that tells me \N doesn't protect spaces like quotes do, and quotes
_inside_ \N don't do their normal job of protecting spaces:

$h_x-loosely-foobar: matches \NFoo[ ]*[bB]ar\N   ** SYNTAX ERROR **

$h_x-loosely-foobar: matches \N"Foo[ ]*[bB]ar"\N   ** SYNTAX ERROR **

And the third passes a syntax check, but doesn't match when it should.
That tells me \N _inside quotes_ doesn't do it's normal job of
protecting regex syntax, and is probably interpreted as just plain N:

$h_x-loosely-foobar: matches "\NFoo[ ]*[bB]ar\N"   ** NO MATCH **

So then, how can I spell this match (rather simple one IMO) and avoid
soul-crushing backslashitis?

-- 
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to