[REGEX] Zahlen aus String auslesen

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

  • [REGEX] Zahlen aus String auslesen

    Hallo ihrs.

    Ich versuche gerade aus einem String von der Form "img_11.jpg" mit Hilfe von regulären Ausdrücken die Zahl auszulesen.

    Mein Code dazu sieht wie folgt aus:
    PHP-Code:
    preg_match("([1-9]+)",$files[count($files)-1],$get);
    $zahl=$get[0]; 
    Allerdings fallen nur einstellige Zahlen unter diese Kriterie. Es funktioniert also mit "img_9.jpg" und nicht mehr mit "img_10.jpg".

    Wie muss ich denn den Ausdruck verändern, damit auch 2-stellige Zahlen erkannt werden? Würde mich über eine Antwort freuen.

  • #2
    Allerdings fallen nur einstellige Zahlen unter diese Kriterie. Es funktioniert also mit "img_9.jpg" und nicht mehr mit "img_10.jpg".
    Das ist nicht wahr!

    versuch mal "img_11.jpg" Huch, ein Wunder. Und was passiert mit "img_0.jpg". Hmm erstaunlich, ne einstellige Zahl die nicht funktioniert.

    Fazit?

    Kommentar


    • #3
      PHP-Code:
      $reg '/(\\d+)/'
      obiges funzt nicht ? Schon mit preg_match_all() probiert ?
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        @jahlives, wie sollte es auch, wenn er die 0 nicht einschließt??

        Kommentar


        • #5
          Hmm.. Danke für die Antworten.

          Dürfte es so
          PHP-Code:
          preg_match("([0-9]+)",$files[count($files)-1],$get);
          $zahl=$get[0]; 
          richtig sein? So gehts es auch nicht.

          Kommentar


          • #6
            Jetzt brauchst du nur noch Delimiter...

            es sei denn, deine Klammern werden als Demlimiter akzeptiert, dann brauchst du Klammern.

            Kommentar


            • #7
              @TobiaZ: Ja ich hab den Thread gelesen. Wenn du statt Stichpunkten mal nen erklärerenden Satz mit nem Beispiel schreiben würdest, dann müsste ich auch nicht nachfragen.


              Wie packe ich denn die 0 noch in den Ausdruck rein?

              Kommentar


              • #8
                nimm z.B. mal

                &[0-9]+&

                Kommentar


                • #9
                  Hab noch nen kleinen Fehler gefunden. Scheint doch zu funktionieren. Werds nochmal testen.
                  Zuletzt geändert von Tarquinio; 06.08.2007, 15:25.

                  Kommentar


                  • #10
                    dann ist in deinem String nicht das drin, was du behauptest:

                    http://regexp-evaluator.de/evaluator...8f0c/#ergebnis

                    Kommentar


                    • #11
                      PHP-Code:
                      $reg '/(\\d+)/'
                      sag nicht, dass das nicht funzt...
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Aha, geht doch!

                        Kommentar

                        Lädt...
                        X