Preg_match

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

  • Preg_match

    Hallo,

    Ich habe ein preg_match das nur folgende befehle durchlassen soll:
    /irgendwas
    /irgendwas -irgendwas "irgendwas" ...

    preg_match("/\/((.*)|(.*)( -(.*) (\"|')(.*)(\"|'))+)/, $string);

    Nur funktioniert der nicht wirklich.

    wie könnte man das sonst noch machen?

    gruß kevin

  • #2
    http://pcre.nophia.de/evaluate zum testen und den modifier U evtl. benutzen.

    Comment


    • #3
      Hi,

      Den kenne Ich schon, nur Ich denke es liegt an dem hier:
      (.*)
      am anfang.
      Falls das andere (/irgendwas -name "test") nicht passt, nimmt er als alternative eben das (.*). und bei dem kann stehen was wolle, es kommt true raus.

      nur wie ändere ich das?

      gruß kevin

      Comment


      • #4
        der . steht für irgendein beliebiges Zeichen, das * steht dafür das die Zeichen kein oder mehrfach vorkommen dürfen. Darum ist es logisch das alles durchgelassen wird. Was möchtest du den prüfen?
        Last edited by Melchor; 19-09-2005, 09:59.

        Comment


        • #5
          definiere "irgendwas" möglichst genau. Das setzt du dann in ne Regex um dann wirds passen.

          Comment


          • #6
            Hi,

            Irgendwas steht für einen befehl. das wäre ein ununterbrochenen (ohne leerzeichen) string.
            Aber wenn eben z.b. "/name", oder "/name -test "lol" nicht passt, würde auf meinen regex alles andere passen, weil eben das (.*) alles durchläßt.
            nur wie sage ich preg_match, das er nur stirngs durchlassen soll, bei dem _kein_ leerzeichen vorhanden ist?

            gruß kevin

            Comment


            • #7
              Hi,

              wenn du weisst um wieviele zeichen es sich dabei handelt, kannst du das mit {0,7} regeln. Dabei steht die erste Zahl für wieviele Zeichen vorkommen müssen und die zweite Zahl für wieviele Zeichen vorkommen dürfen.

              das sähe dann so aus:

              (.*){0,7}

              oder halt nur so

              (.*){7}


              mfg

              Comment

              Working...
              X