From doeblitz@gmx.de Mon Aug 21 18:55:00 2000 Path: uni-berlin.de!fu-berlin.de!uni-erlangen.de!news-nue1.dfn.de!news-han1.dfn.de!newsserver.rrzn.uni-hannover.de!news.tu-bs.de!tubsibr!escape.de!selene.escape.de!not-for-mail From: Ralf =?iso-8859-1?Q?D=F6blitz?= Newsgroups: de.comm.software.mailreader.misc Subject: Re: procmail und greedy regular expressions Date: 19 Aug 2000 17:46:45 +0200 Organization: private site in Braunschweig, Germany Lines: 32 Sender: Ralf Doeblitz Distribution: world Message-ID: <8nma55$tn3$3@selene.escape.de> References: <8nh3dt$7kt$1@stargate.angel.escape.de> NNTP-Posting-Host: selene.escape.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: selene.escape.de 966700005 30435 194.120.234.83 (19 Aug 2000 15:46:45 GMT) NNTP-Posting-Date: 19 Aug 2000 17:46:45 +0200 Mail-Copies-To: never User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (Linux/2.2.10 (i686)) Xref: uni-berlin.de de.comm.software.mailreader.misc:7212 Oliver Wellnitz schrieb: >Hi, > >ich möchte procmail dazu verwenden um Subject Zeile der Art "Antwort: Re: >AW: Re: Antwort: Text" auf "Re: Text" zu kürzen. Probiert habe ich zunächst >ersteinmal > > :0 f > * ^Subject: ((AW|Antwort|Re): )+\/.*$ > | formail -A "X-NEW-SUBJECT: $MATCH" > >Leider scheint das + nicht greedy zu sein, wie ich auch aus der Manpage >entnehme. Gibt es einen schlauen Weg das irgendwie procmail-intern zu >machen oder muß man für soetwas auf externe Programme zurückgreifen? Man muß einfach hinter dem "\/" noch einmal auf die Inversion der Regex vor dem "\/" matchen. Damit erzwingt man, daß der erste Teil auf die Maximallänge matcht. Bei vollständiger Invertierung der Regex wird das aber sehr unschön. Wenn man außerdem noch das in Mailboxkreisen nicht unbeliebte "Re^2" etc. entfernen will, dann kann das so aussehen: :0 f * ^Subject: ((AW|Antwort|Re(\^[0-9]+)?): )+\/([^AR]|A([^nW]|n([^t]|t([^w]|w([^o]|o([^r]|r([^t]|t([^:]|:[^ ]))))))|W([^:]|:[^ ]))|R([^e]|e([^:^]|:[^ ]|\^([^0-9]|[0-9]([^:]|:[^ ]))))).*$ | formail -A "X-NEW-SUBJECT: Re: $MATCH" Wie schon geschrieben, wirklich nicht schön, aber es tut. Ralf -- Ralf Döblitz * Schapenstr. 6 * 38104 Braunschweig * Germany Phone: +49-531-2361223 Fax: +49-531-2361224 mailto:doeblitz@gmx.de Homepage: http://www.escape.de/users/selene/