Hello Karl,

Karl Fischer <[email protected]> (Mo 13 Jul 2009 22:54:24 CEST):
[ ... ]

> Heiko,
> 
> I followed this thread with interest and I'm still a little puzzled with the
> specific exim syntax, but in terms of regex and just extracting the header 
> names, this perl regex should be more efficient: s/:.*?\n(\s+.*?\n)*/:/g
> 
> This saves looping through map/extract by getting rid of the unwanted 1st.
> 
> In exim syntax I'd assume this to be (not tested yet):
> 
> MESSAGE_HEADERS = ${lc:${sg {$message_headers_raw}{\N:.*?\n(\s+.*?\n)*\N}{:}}}

Just tested it using "exim4 -be" (sorry for the extra long line ...):

${lc:${sg {X-Spam-Level: 7\nReceived: here\n and now\nSubject: 
Test\n}{\N:.*?\n(?:\s+.*?\n)*\N}{:}}}
gives: x-spam-level:received:subject:

Another approach does the same:
${lc:${sg {X-Spam-Level: 7\nReceived: here\n and now\nSubject: 
Test\n}{\N(?m)(^\S+:)?.*?\n\N}{\$1}}}

Cosmetical issue for both: the trailing ":".

Thank you for your idea. I was too much focused on extract/map and
forgot about the art of reg exp :)

-- 
Heiko

Attachment: signature.asc
Description: Digital signature

-- 
## List details at http://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