string der nicht im text vorkommt?

  • Ich ordne manche meiner Mails nach Betreff.

    Dazu habe ich Filter angelegt.

    erster Filter:

    ,.+?Musik.+?,de

    zweioter Filter:

    ,.+?Video.+?,de

    Leider gibt es nun auch Betreffzeilen in denen nicht nur "Video" sonder auch "Musik" vorkommt. Ich weiss das ich einzelne Buchstaben in einenm String so markieren kann das Sie nicht darin vorkommen dürfen.

    z.B.:

    ,[^abc].+?Video.+?,de

    Aber Wie kann ich das für ein ganze Wort machen, anstatt nur für die einzelnen Buchstaben a, b und c? Ich will also das Wort Musik als gesamtes im Betreff verbieten.

    Einmal editiert, zuletzt von monotek (11. Februar 2005 um 12:13)

  • Zitat

    ,.+?Musik.+?,de


    Versteh ich den Filter richtig?

    Du suchst nach einem Komma (,), gefolgt von mindestens einem Zeichen (.+) das aber nicht vorkommen muss (?). Warum machst du nicht gleich

    Zitat

    ,.*


    Danach suchst du nach Musik und danach wieder nach beliebig vielen Zeichen (.*) gefolgt von einem Komma und de?

    Ich würde eher mal davon ausgehen das du nach der URL musik.*\.de suchst oder nicht?


    Das aber mal nur der Verständlichkeit halber weil mir nicht ganz klar ist was du mit der Abfrage bezweckst.

    Zitat

    Aber Wie kann ich das für ein ganze Wort machen, anstatt nur für die einzelnen Buchstaben a, b und c? Ich will also das Wort Musik als gesamtes im Betreff verbieten.


    Das geht mit RegExp nicht. Warum stellst du aber im Filter nicht einfach ein das der Begriff nicht vorkommen darf? Dann sparst du dir doch die NICHT-Abfrage im RegExp.

  • Nein, ich such keine Domain.
    Die Betreffzeilen werden durch ein Formular generiert.
    Ist also schon ok so, mit den Kommas.

    Ehrlich gesagt ist der Filter auch nicht für TheBat, daher frag ich wie sich das mit Regex lösen lässt?

  • Zitat

    Hmm... Komisch. Kaqnn mitr fast nicht vorstellen das es nicht geht...


    Du müsstest einen Regex negieren können, dann wäre es einfach, z.B.:
    -{Musik} <-- Hamster-Syntax

    Per definitionem kannst du mit regulären Ausdrücken nativ nur folgendes bewerkstelligen (negativer Lookahead):

    Code
    mit (?!Musik)


    Das Beispiel bedeutet: nach "mit " darf nicht "Musik" stehen.

  • Zitat

    Per definitionem kannst du mit regulären Ausdrücken nativ nur folgendes bewerkstelligen (negativer Lookahead):

    Code
    mit (?!Musik)


    Das Beispiel bedeutet: nach "mit " darf nicht "Musik" stehen.


    Danke. Genau so werd ichs machen :)