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

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: Keith G. Murphy
CC: exim-users
題目: 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.