[REGEX] Brauche eine Überpüfung

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

  • [REGEX] Brauche eine Überpüfung

    So. Ich habe mich jetzt eine Weile mit Regex beschäftigt, aber ich finde keine Lösung.

    Ich möchte überprüfen, ob irgendwelche Zeichen außer Zahlen vorkommen.

    Aber ich weis nicht wie ich das mit dem außer machen soll

  • #2
    du prüfst einfach, ob nur Zahl vorkommen. Zahlen
    bestehen aus Kombinationen von Ziffer 0 bis 9
    also mach was damit

    Kommentar


    • #3
      ereg ('[^0-9]', $string)
      oder
      preg_match ('/[^\d]/', $string)

      RTFM
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        danke, Titus.

        preg_match ('/[^\d]/', $string)

        funktioniert gut, aber nicht wenn der string leer ist.
        Ich will überprüfen ob wirklich nur Zahlen in dem String sind und nichts anderes daneben, weder Buchstaben noch andere Zeichen aber wenn der string leer ist, gilt der auch nicht als richtig!

        geht das irgendwie einzubauen?

        Kommentar


        • #5
          ähhm.. ja das mit dem leeren string krieg ich mit ner if hin...

          Danke!

          Kommentar


          • #6
            Ich will überprüfen ob wirklich nur Zahlen in dem String sind und nichts anderes daneben, weder Buchstaben noch andere Zeichen aber wenn der string leer ist, gilt der auch nicht als richtig!
            dann könntest du es auch einfach so machen:
            preg_match(/^[\d]+$/,$string);
            ergibt true wenn $string aus nichts anderem als mindestens einer Zahl besteht.

            Kommentar


            • #7
              also ich hab es jetzt. jetzt habe ich aber ein weiteres problem

              PHP-Code:
              $x="<com_syntax>hallo</com_syntax>";
              $c=ereg('[<com_syntax>]([+])[</com_syntax>]'$x$reg); 
              Aus dem String $x soll nur der Teil in $reg zurück gegeben werden, der zwischen <com_syntax> und </com_syntax> steht, hier also "hallo"

              Ich bekomme als Rückgabewert false und $reg ist ein leeres Array.

              Was mache ich falsch?

              Kommentar


              • #8
                Original geschrieben von okoman
                ...weder Buchstaben noch andere Zeichen aber wenn der string leer ist, gilt der auch nicht als richtig!
                äääh ... ja! hättst du auch gleich dazu schreiben können.

                ereg('^[0-9]+$', $string)
                bzw.
                preg_match('/^\d+$/', $string)
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  jop. sorry ...
                  und das neue problem?

                  Kommentar


                  • #10
                    Original geschrieben von okoman
                    Was mache ich falsch?
                    Du hast die Seite über Syntax von regulären Ausdrücken noch nicht gelesen.

                    [] definiert Zeichenklassen
                    () ist für Zeichenketten da (insbesondere für die, die du zurückgeliefert haben möchtest)
                    .* steht für beliebig viele beliebige Zeichen

                    und dann gibt´s da für preg auch noch modifier (eine andere Seite im Handbuch; das große U könnte ganz nützlich für dich sein)
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar


                    • #11
                      DANKE DANKE DANKE

                      Ich hab es jetzt hinbekommen *freu*

                      PHP-Code:
                      $x="<com_syntax>hallo</com_syntax>";
                      $c=ereg('<com_syntax>(.*)</com_syntax>',$x,$reg); 
                      Danke für eure Geduld

                      Kommentar

                      Lädt...
                      X