Ankündigung

Einklappen
Keine Ankündigung bisher.

Reguläre Ausdruck hat nen Fehler

Einklappen

Neue Werbung 2019

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

  • Reguläre Ausdruck hat nen Fehler

    Hi, ich hab nen regulären Ausdruck der nicht das tut was er soll.
    In einen Textfeld gibt man einen String ein den ich mit nen Regulären Ausdruck überprüfe
    PHP-Code:
    [a-zA-Z0-9ÄÖÜäöüß|+|-|_|.]+$ 
    Wenn der Ausdruck OK ist soll er einen Ordner erstellen mit diesen String.

    Eigentlich klappt es ganz gut aber das Minuszeichen erkennt er immer als Falsch und das Pipe Symbol(|) erlaubt er obwohl es nicht im Ausdruck erlaubt ist.

  • #2
    PHP-Code:
    [a-zA-Z0-9ÄÖÜäöüß|\+|-|_|\.]+$ 
    ungetestet

    edith sagt das die Backslash hier im forum rausgenommen werden.

    also \+|\. z.b.

    Kommentar


    • #3
      Was meinst du mit Minuszeichen erkennt er als Falsch? Das Minus müsstest du escapen also \- und | bedeutet soviel wie ODER also + oder - oder _ oder . etc. ... müsstest du wohl auch escapen.

      Kommentar


      • #4
        Was sollen die Pipes (|). Nicht in Zeichenklassen! Also:
        Code:
        #[a-zA-Z0-9ÄÖÜäöüß\+\-_\.]+$#
        oder
        Code:
        #[\w\dÄÖÜäöüß\+\-_\.]+$#
        oder
        Code:
        #[a-z0-9ÄÖÜäöüß\+\-_\.]+$#i

        Kommentar


        • #5
          ich dachte das soll ein oder sein.... also + oder -

          Kommentar


          • #6
            Das geht in Zeichenklassen aber nicht. [ ] ist sowas wie Element der Menge.
            Für alles andere gibts Klammern ( ).

            Kommentar


            • #7
              kleiner Tip: zum schnellen debuggen von Regex ist Kodos - The Python Regex Debugger ganz gut ist der beste RegEx Debugger den ich kenne ... damit wärst du auch alleine drauf gekommen

              Kommentar


              • #8
                Gabs da nicht mal nen Online-Tester von jemandem aus dem Board? Schon zu friends Zeiten.

                Kommentar


                • #9
                  regex-tester.de

                  Kommentar


                  • #10
                    Huch, der ist ja so Web2.0. Ist das derselbe?

                    Kommentar


                    • #11
                      Hi, das mit dem Pipe Symbol macht er jetzt nicht mehr, allerdings funktioniert das "-" (Minus) Zeichen immernoch nicht:

                      PHP-Code:
                      $name '[a-zA-Z0-9ÄÖÜäöüß\+\-\_\.]+';
                        
                      $regEx '^'.$name.'$'

                      Kommentar


                      • #12
                        Bitte mal ein Beispiel posten. Zudem fehlt ein regEx Begrenzer.

                        Kommentar


                        • #13
                          regex begrenzer?

                          Kommentar


                          • #14
                            üblicherweise
                            ' ' String -> PHP
                            / / -> regExpr

                            Also '/regExpr/regExprFlags'
                            Ich persönlich nutze lieber # #

                            Kommentar


                            • #15
                              Schau dir zu dem ma folgenden link an Reguläre Ausdrücke

                              Kommentar

                              Lädt...
                              X