steffi: RegExp

hi,
der gesuchte string ist auch von zwei strings umschlossen. und folgt auf den anfangsstring das wörtchen "nicht", so soll der treffer/match nicht gezählt werden.
würde jetzt einfach mal zum testen ...(.*?)... verwenden. doch das mit dem "nicht" kann ich nicht herausfinden, wie es geht :-( daher frag ich Euch ja!
also "abc ist nicht das gesuchte." => []
"abc ist schon das gesuchte." => ['schon das gesuchte']
thx

  1. hallo,

    ich glaube du solltest die Frage noch mal deutlicher stellen !

    mfg bruno

  2. Hi,

    der gesuchte string ist auch von zwei strings umschlossen.

    Auch? Wer denn noch? Hm.

    und folgt auf den anfangsstring das wörtchen "nicht", so soll der treffer/match nicht gezählt werden.

    Soll der Treffer kein Treffer sein? Oder geht es darum, das Ding auch zu treffen, aber für irgendwelche Zwecke nicht zu zählen?

    würde jetzt einfach mal zum testen ...(.*?)... verwenden.

    Da nicht klar ist, was Du eigentlich testen willst: kann ich nichts zu sagen ...

    doch das mit dem "nicht" kann ich nicht herausfinden, wie es geht :-( daher frag ich Euch ja!

    Ne, Du fragst nicht. Du stammelst ein paar kleine Teile der Problembeschreibung, aber wichtige Teile fehlen. Und eine Frage ist im ganzen Posting nicht zu finden ...

    also "abc ist nicht das gesuchte." => []
    "abc ist schon das gesuchte." => ['schon das gesuchte']

    Wenn Du etwas klarer formulieren könntest, was Du eigentlich haben willst, könnte man mehr als nur raten.

    Suchst Du vielleicht negative Lookahead (oder Lookbehind) assertions?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. nein, ich suche kein Lookahead!
      ich glaub, es lässt sich am besten an nem beispiel erkennen:
      str="start: bla -ende; start: nicht bla2 -ende"
      "|start:(.*?)-ende|"
      ->[" bla "],[nicht bla2]
      nun sollen aber nur treffer "gültig" sein, in denen kein "nicht" zu beginn steht. also das gewünschte ergebnis wäre:
      ->[" bla "]
      FRAGE: wie schließe ich die ergebnisse aus, bei denen das wörtchen "nicht" zu beginn/voran-steht?
      danke für antworten.
      sorry, weiß nicht, wie ichs sonst beschreiben könnte...

      1. Hallo,

        nein, ich suche kein Lookahead!

        Möglich, aber evtl. negatives lookbehind? ;)

        Viele Grüße
        Patrick

        --
        "Though this be madness, yet there's method in't."
        sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[
        1. nein. die lookaheads/behinds sind doch, wenn ich das richtig verstehe dazu da, bei einem treffer zu prüfen, ob sich ein string vor/nach dem gesuchten string befindet. aber ich will das ja verneinen. kann echt kein beispiel auf anderen seiten finden, wo dieses problem erklärt/gelöst wird.
          daher hoffe ich auf Eure hilfe.

          1. Hallo,

            hast du dich überhaupt mit dem Thema Lookarounds befasst? Mit dem Stichwort 'negative lookbehind' (man - oder auch frau - beachte _negative_) stosse ich bereits beim ersten Suchergebnis auf das was du suchst...

            (?<!nicht )blah\

            matcht (urgs, dieses denglisch ;)) "blah" in "bli blubb blah"
            kein match in "bli blubb nicht blah"

            Viele Grüße
            Patrick

            --
            "Though this be madness, yet there's method in't."
            sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[