Re: [SAde] RE-Nachhilfe, HTML-Tags (Lösung)

Wolfram Schroeder <[email protected]> Fri, 17 Oct 2003 02:29:26 +0200
Newsgroups gmane.mail.spam.spamassassin.devel.de
Message-ID <[email protected]>
Ingo Wiarda schrieb:

Hi!

> Ist mir einmal vorgekommen, hatte jemand in seiner Signatur. Aber praktisch 
> kann man das vernachlässigen.

Yup, ist hiermit vernachlässigt ;-)


> Benchmark: timing 20 iterations of reg1, reg2, sonder_aktion...
>       reg1: 197 wallclock secs (167.91 usr + 14.74 sys = 182.65 CPU) @  0.11/s 
> (n=20)
>       reg2: 177 wallclock secs (143.01 usr + 14.25 sys = 157.26 CPU) @  0.13/s 
> (n=20)
> sonder_aktion: 659 wallclock secs (586.35 usr + 17.45 sys = 603.80 CPU) @  
> 0.03/s (n=20)
>               s/iter sonder_aktion          reg1          reg2
> sonder_aktion   30.2            --          -70%          -74%
> reg1            9.13          231%            --          -14%
> reg2            7.86          284%           16%            --
> 
> 
> Reg1 ist die alte, Reg2 die neue Regex mit den XML/<!-- Tests.
> sonder_aktion ist Dein Standardbeispiel.
> 
> Datenbasis:
> ca. 8000 Mails, 3000 davon Spam (inkl. SpamAssassin-rewrite-Vorspann). Die 
> Regexes wurden auf den kompletten Nachrichtentext angewendet (alles nach dem 
> ersten  ^Subject: ). Im Normalfall würde man das natürlich abkürzen, indem 
> man nach einem Match abbricht und den entsprechenden Score vergibt.

Wow! Soviel wollte ich ja gar nicht :-) Hier eine - nur leicht - 
optimierte Fassung, zusätzlich !--\s* statt !--\s+ und !DOCTYPE dabei, 
letzteres macht LookOut,


rawbody         __WS_WEIRD_HTML 
/<(?:\/|(?!\/))(?!(?:!--\s*|!DOCTYPE|\?XML|A|ABBR|ACRONYM|ADDRESS|APPLET|AREA|B|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE||CODE|COL|COLGROUP|D[DLT]|DEL|DFN|DIR|DIV|EM|FIELDSET|FONT|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LEGEND|LI|LINK|MAP|MENU|META|NOFRAMES|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PRE|Q|S|SAMP|SCRIPT|SELECT|SMALL|SPAN|STRIKE|STRONG|STYLE|SU[BP]|TABLE|TBODY|T[DHRT]|TEXTAREA|TFOOT|THEAD|TITLE|U|UL|VAR)\b)[^>]*>/i

meta            WS_WEIRD_HTML      HTML_MESSAGE && __WS_WEIRD_HTML
describe        WS_WEIRD_HTML      Nonexisting HTML-Tag
score           WS_WEIRD_HTML      0.5


Die versuchten Optimierungen waren von der Form

A|ABBR|ACRONYM  ->  A(?:BBR|CRONYM..)?  slightly worse
BASE|BASEFONT   ->  BASE(?:FONT)?       no noticable difference
H1|H2|H3...     ->  H[1-6]              noticably worse
DD|DL|DT        ->  D[DLT]              5% better, dunno why this is 
better than above
OPTGROUP|OPTION ->  OPT(?:GROUP|ION)    slightly worse

Falls Du noch mal testest, versuche einmal wie angegeben und einmal 
H1|H2...|HR -> H[1-6R], ich habe den leisen Verdacht, dass die RE 
einfach nur nennenswert länger zum Kompilieren braucht.


Ich habe ein paar Leute animiert, mich einzuHTMLen, und ich bekomme 
leider nicht nachvollziehbare Hits. Wenn ich die HTML-Mail aus Outlook 
rauskopiere, bekomme ich in einem RE-Testscript keine Hits, und in den 
Headern nur die zu erwartenden. Hat jemand ne Ahnung?! Steht irgendwas 
zwischen Header und Body oder nach dem Body, was OL mir unterschlägt?


> Bei Bedarf kann ich das Testskript online stellen.

Ja bitte, poste mal oder pack's in die Scripte-Sammlung im Wiki bei 
http://www.exit0.us/index.php/de_tools rein (mache ich sonst!).

> Ingo

Wolfram




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php