[REGEX] Teilstring finden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [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.

    Kommentar


    • #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

      Kommentar


      • #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.

        Kommentar


        • #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

          Kommentar


          • #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!

            Kommentar


            • #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

              Kommentar


              • #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

                Kommentar

                Lädt...
                X