Re: [Exim] Why does '\\d+' not work in condition line?

Inizio della pagina
Delete this message
Reply to this message
Autore: Philip Hazel
Data:  
To: Keith G. Murphy
CC: exim-users
Oggetto: Re: [Exim] Why does '\\d+' not work in condition line?
On Fri, 5 Apr 2002, Keith G. Murphy wrote:

> But this does not ever match anything
>
> condition = "${if or {{eq {$received_protocol}{scanned-ok}} {match
> {$sender_ho
> st_address}{^192\\.168\\.100\\.\\d+}}} {0}{1}}"


Remove the quotes ("").

You have been caught by the different levels of escaping. The quotes
cause one level of escaping, and the expansion causes another level. So
the regular expression you are actually tring to match is

^192.168.100.d+

which isn't right. You don't need the quotes, so get rid of them.
If you are using Exim 4, and alternative approach to doubling the \\ is
to use \N to suppress escaping in the expansion.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.