Adrian Kousz: Wildcards .+? und .*? stoppen

hallo

wie kann man machen, dass beim ausdruck ^/.*?/$ der wildcard .*? nach der zweiten klammer nichts mehr findet?
/hallo/hallo/ geht nämlicht auch, sollte aber nur /hallo/ gehen...

vielen dank für eure stetige hilfe!
gruss
adi

  1. Hi Adrian,

    wie kann man machen, dass beim ausdruck ^/.*?/$ der wildcard .*? nach der zweiten klammer nichts mehr findet?
    /hallo/hallo/ geht nämlicht auch, sollte aber nur /hallo/ gehen...

    Ich weiß jetzt nicht genau, wie das bei Perl aussieht, aber das ist doch (wie bei PHP auch) PCRE Standard, oder?

    Dann solltest du eine Zeichenklasse definieren können, die alle Zeichen außer einem / matched:

    [^/]*

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Auf viele Fragen weiß auch Wikipedia eine Antwort.
    1. Hallo Dennis

      jep, jetzt hats funktioniert! vielen dank!
      ich habe es zuerst noch so probiert: ^/.*?[^/]*?
      aber das ging halt auch nicht, aber deine lösung funktioniert perfekt!

      viele grüsse
      adi

      PS: RegExp ist ja "standardisiert", demnach sollte es überall gleich sein. müsste fast noch ein themenbereich RegExp geben, denn das ist ja fast wie eine Programmiersprache die nur zum suchen ist...

      1. Hi Adrian,

        ich habe es zuerst noch so probiert: ^/.*?[^/]*?
        aber das ging halt auch nicht, aber deine lösung funktioniert perfekt!

        Das geht deshalb nicht, weil das .* alle Zeichen matched, die passen und dem [^/]* nichts mehr übrig lässt - gehen sollte es allerdings, wenn du [^/]+ schreibst, denn dann _muss_ noch mindestens ein Zeichen dieser Klasse kommen.

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Wissen ist gut, Können ist besser, aber das Beste und Interessanteste ist der Weg dahin! (Detlef G.)