kostenloser Webspace werbefrei: lima-city


Frage zu RegEx

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    snoo3

    Kostenloser Webspace von snoo3

    snoo3 hat kostenlosen Webspace.

    Hallo Lima-City User
    Ich wünsche allen erstmal ein frohes neuen Jahr!

    Jetzt zu meiner Frage. Ich weiss jetzt nicht ob ich hier richtig bin aber RegEx gibt es ja in verschiedenen Programmiersprchen darum hab ich es mal hier reingeschrieben.

    Also kann mir jemand folgende Abfrage erklären?
    ^[a-zA-Z0-9]+$
    das in den Klammern ist mir klar aber für was ist das ^,+ und $?
    und wie müsste ich es machen wenn ich _ auch erlauben möchte aber diese maximal zwei mal vorkommen dürfen?

    Herzlichen Dank für eure Antworten!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also, wichtig ist erstmal zu wissen, dass bei einem regulärem Ausdruck die Bedeutung eines Zeichens von seiner Umgebung abhängt. Daher sind die folgenden Erklärungen nicht in jeder Situation gültig:

    ^ bedeutet \"am Anfang des Textes\"
    $ bedeutet \"am Ende des Textes\"
    + bedeutet \"mindestens 1 mal\"

    Also kann man ^[a-zA-Z0-9]+$ übersetzen:

    Am Anfang sollte mindestens ein Buchstabe oder eine Ziffer stehen bis zum Ende des Textes.

    und wie müsste ich es machen wenn ich _ auch erlauben möchte aber diese maximal zwei mal vorkommen dürfen?


    Ich richte mich mal nach der Perl-Syntax.

    ^[a-zA-Z0-9]*(_?[a-zA-Z0-9]+_?)|((__[a-zA-Z0-9])|([a-zA-Z0-9]__))[a-zA-Z0-9]*$

    Vielleicht kann man diesen Regex noch optimieren.
    | bedeutet eine Fallunterscheidung zwischen 2 Subpatterns

    Ich habe den Regex jetzt nicht getestet. Sollte aber eigentlich funktionieren.
  4. Autor dieses Themas

    snoo3

    Kostenloser Webspace von snoo3

    snoo3 hat kostenlosen Webspace.

    OK danke für deine Antwort ich hatte zuerst bei google nach regex gesucht und dort immer nur solche sachen gefunden [^a] gefunden, das bedeutet ja das am anfang ein a stehen muss, ich wusste aber nicht was es vor der klammer bedeutet aber dank dir weiss ich es jetzt :thumb:

    Für mein zweites Problem werde ich wohl liebe mit php zählen wie oft dieses zeichen(_)vorkommt und dann mit ner if abfrage arbeiten ist wohl einfacher als diese komplizierte abfrage:biggrin:
  5. nur solche sachen gefunden [^a] gefunden, das bedeutet ja das am anfang ein a stehen muss


    Um mich selber zu zitieren:

    Also, wichtig ist erstmal zu wissen, dass bei einem regulärem Ausdruck die Bedeutung eines Zeichens von seiner Umgebung abhängt. Daher sind die folgenden Erklärungen nicht in jeder Situation gültig:


    ^ bedeutet, wenn es direkt hinter [ steht, dass die Zeichen zwischen [ und ] nicht vorkommen dürfen.

    ab[^cd]ef

    würde z.B.
    abzef erlauben, aber
    abcef wäre kein treffer, da \"c\" und \"d\" eben per [^ ] ausgeschlossen sind.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!