Ankündigung

Einklappen
Keine Ankündigung bisher.

ereg - Negationsproblem

Einklappen

Neue Werbung 2019

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

  • ereg - Negationsproblem

    Hallo liebe Gemeinde,
    ich habe mal wieder ein Problem mit den regulären Ausdrücken
    Foldender Eingabestring:
    Code:
    A____AABBBB
    Hierbei will ich den String AABBBB aus dem inputstring "herausextrahieren", jedoch wird durch den unten beschriebenen Ausdruck schon ab dem ersten A die Negation erfüllt Wie bringe ich ihm bei, dass die beiden A's in direkter Folge auftreten müssen? (Sämtliche Klammerkonstrukte habe ich schon durch)
    PHP-Code:
    ereg("^[^AA]*((.)*)$",$linkTmp,$regs); 

    Vielen Dank schonmal & Beste Grüße
    Dennis


  • #2
    - ereg ist veraltet
    - ^ und $ machen keinen Sinn, wenn Du Teile extrahieren willst
    - in Zeichenklassen kann man keine Zeichenketten angeben, jedes Zeichen wird einzeln interpretiert

    Besser DU beschreibst noch mal Dein Ziel an einem echten Beispiel.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Wäre gut zu wissen, wie genau der String aussehen kann.
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        Hallo zusammen,
        erig ist veraltet? Ok, was ist die bessere Alternative?
        Ich habe eigentlich "nur" einen Link aus dem ich ein paar Werte heraus extrahieren möchte. Also: url.com?var1=value1&var2=value2......
        Und mich interessieren hier bestimmte Werte (values). Oder gibt es hier eine einfachere Lösung?

        Grüße
        Dennis

        Kommentar


        • #5
          Ja gibt es. Und genau deshalb soll man konkrete Fragen stellen, und keinen Traumcode.

          parse_url
          parse_str
          explode
          strpos

          erig ist veraltet?
          Das liest Du bitte im Manual nach. [MAN]ereg[/MAN]
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Values sind wohl bei dir mit "?" getrennt:
            explode nach "?"
            explode nach "&"
            explode nach "="

            fertig...

            Oder wie nikosch gesagt hat machs nach dem "&" einfach mit strpos, ist sicherlich einfacher zu handhaben
            "My software never has bugs, it just develops random features."
            "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

            Kommentar


            • #7
              Danke!

              Funktioniert prächtig!

              Kommentar


              • #8
                Ich habe auch [MAN]parse_str[/MAN] gepostet. Aber das wär wohl zu einfach..
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Zitat von nikosch Beitrag anzeigen
                  Ich habe auch [man]parse_str[/man] gepostet. Aber das wär wohl zu einfach..
                  Coole Funktion kenn ich gar net. Danke für den Tipp. Mit dieser wäre es wohl einfacher gegangen...
                  "My software never has bugs, it just develops random features."
                  "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                  Kommentar


                  • #10
                    Zitat von jakez Beitrag anzeigen
                    Danke!

                    Funktioniert prächtig!
                    Bitte nutze nur die perl-syntax.... hier ein beispiel aus meinem code
                    PHP-Code:
                     //beispiel entfernt alles was nicht Zahl od. buchstabe od.  _ ist
                    preg_replace("/[^A-Za-z_\d]/s"''$tmp); 
                    1. weisst du dann gleich auch wie das in perl geht.
                    2. ereg wird abgelöst, in der nächsten php version.

                    "preg_match" oder "preg_repleace" (p wie perl ) )
                    sollten all deine probleme lösen. sonst musst du eines tages das skript was du jetzt gerade machst, anpassen..

                    btw. ich kam vom perl zu php

                    Zur Lösung von deinem Problem und allgemein gibt es meist 2 Wege:
                    1. Alles entfernen was nicht passt = resultat (von mir bevorzugt)
                    2. nur gesuchtes, rausziehen

                    Der erste weg wird eine allfälliges neudurchsuchen des stringts beschleunigen.
                    www.scriptforums.com - Foren für Skripts
                    www.ragonvote.net - Kostenlose Umfragen
                    www.ragonsoft.com - PHP und Android Apps (z. B. Knoten Video Guide)

                    Kommentar

                    Lädt...
                    X