[REGEX] Teilstring finden

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [REGEX] Teilstring finden

    Hallo, da bin ich wieder

    Und sogleich am nächsten Problem hängen geblieben. Dabei handelt es sich um folgenden Fall:
    PHP Code:
    $overrides['Number'] = 612;
    $map '612:2;613:2;614:2';
    preg_match('/'.$overrides['Number'].'.*;/',$map,$tmpresults);
    print_r($tmpresults); 
    Regex peil ich leider überhaupt nicht. Darum bin ich hier sehr froh um ein wenig Hilfe ^^
    Gewünschtes $tmpresults[0]: '612:2;'
    Aber komischerweise gibt er jetzt '612:2;613:2;' aus.

    Danke im Voraus
    Onyx

    PS: Wenn man mir kurz sagen könnte, warum die jetztige Ausgabe so zustanden kommt, gibt's doppelte Punkte ^^

  • #2
    Klar, das Pattern ist immer gierig, das heißt es nimmt so viel es kriegt.

    Informiere dich über den Modifier U (ungreedy).
    Der findet eigentlich in jedem RegEx-Tutorial Erwähnung. Auch in unserem.

    Comment


    • #3
      Ah! Ich habs geschafft ^^
      PHP Code:
      $overrides['Number'] = 612;
      $map '612:2;613:2;614:2';
      preg_match('/'.$overrides['Number'].'.*?;/',$map,$tmpresults);
      print_r($tmpresults); 
      Nur das '?' fehlte

      Danke vielmals!
      Gruss
      Onyx

      Comment


      • #4
        Naja, auch wenn das nicht wirklich das ausdrückt, was du eigentlich definieren willst.

        Was du jedenfalls nicht berücksichtigst ist die 614!

        Korrekterweise würde man eine Zeichenklasse vo 0-9 (evtl mit Angabe der Länge) definieren, gefolgt von einem Doppelpunkt und einer weiteren Zeichenklasse von 0-9 (erneut ggf. mit Angabe der Länge). Das Semikolon ist jedenfalls kein Aussagekräftiges Kriterium, da es nicht zwangsläufig vorhanden sein muss.

        Comment


        • #5
          Ja, das ist mir aufgefallen, und darum habe ich das ganze fix so geändert, dass ein Semikolon zwingend vorhanden sein muss

          Aber gutes Auge! Und trotzdem Danke für den Hinweis!

          Gruss
          Onyx

          Comment


          • #6
            Ja, das ist mir aufgefallen, und darum habe ich das ganze fix so geändert, dass ein Semikolon zwingend vorhanden sein muss
            Autsch, was ist denn heute los? Haben wir hier Programmierer on Board, oder nur irgendwelche Symptombekämpfer...

            Noch dazu wo ich dir die Lösung schon gepostet habe!

            Comment


            • #7
              @ts

              hier wirds auch noch mal erklärt.

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Comment


              • #8
                Hehe ^^
                Ich werde mir mal einige Regex-Tutorials im Verlauf der nächsten Woche zur Gemüte führen, damit ich nicht mehr als Symptombekämpfer dastehe
                (und wenn ich eine bessere Lösung habe ändere ichs wieder fix zurück :P)

                Danke für eure Hilfe
                Gruss
                Onyx

                Comment

                Working...
                X