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