[prev in list] [next in list] [prev in thread] [next in thread]
List: procmail
Subject: Re[2]: \[ works within [...] but \] doesn't
From: Robert Allerstorfer <roal () anet ! at>
Date: 2003-11-16 0:53:32
[Download RAW message or body]
On Sat, 15 Nov 2003, 10:29 GMT-08 (19:29 local time) Bart Schaefer
wrote:
> That's because backslashes are not special inside procmail [ ] character
> classes. The backslashes that are doing any good there are the ones in
> the substring "\\\"\`\$" -- and that's only because the entire thing is
> inside double quotes for the assignment.
> The only way to quote a ']' within a character class is to place it at the
> beginning of the class. I'm pretty sure the same goes for a hypen as well
> -- that is, "[\-\]" is being read as "the range backslash to backslash".
> Try:
> C = "[-]['/@#_!=,;: \\\"\`\$.*+?^()]"
thanks for pointing me to the right direction. Your suggested
assignment only recognises a hyphen, followed by zero or one
characters of the other characters. I am now using
C = "[]['/@#_!=,;:.*+?^() \\\"\`\$-]"
and it works fine.
To summarize, the things to be taken care of are:
(1) Within the "[...]" class, the first character must be ] otherwise it
causes the previous character to be the last recognized one!
(2) The last character must be - (hyphen) otherwise it would act as
range operator
(3) The only characters that must be \ escaped are \"`$ (or are there
any additional ones?)
Finally, here is the recipe I am now successfully using against
several forms of viagra in the subject of spam mails:
:0
* $ ^Subject:.*((v|\\/)$C?(i|1)$C?(a|@)$C?g$C?r$C?(a|o))
$MYSPAM
best,
rob.
_______________________________________________
procmail mailing list
procmail@lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic