RegEx Frage

  • Hi zsammen

    Hab da kurz ne Frage zu nem RegEx... Ich bin dabei RegEx's zu programmieren und damit Überprüfungen zu realisieren.

    Da bräuchte ich noch eine kleine Info:
    Wie kann ich in RegEx folgendes ausdrücken?

    Als erstes ein Zeichen welches [A-Z]{1} erlaubt aber eben nur einmal kommen darf am Anfang. Danach sollte [a-z- ]{3,19} folgen und nach diesem sollte noch [1-9]{1} und [0-9]{3,5} folgen. Aber wie kombiniere ich alles? Ich habe es leider nicht geschafft und folgendes existiert im Moment nur:

    /^[A-Za-z-0-9 ]{3,25}$/

    Auf gut Deutsch:
    Zuerst ein Grossbuchstabe danach sollen mehrere kleine folgen, welche auch Abstände und - enthalten dürfen und dann sollte noch ein Abstand folgen und danach eine bestimmte Zahl. Am anfang eine 1-9 danach folgend von 0-9 maximal 4 mal aber auch kein mal geht...

    Danke im Voraus..

    Einmal editiert, zuletzt von firefox5.0 (22. Oktober 2008 um 18:13)

  • Du hast doch schon fast alles, warum fügst du es nun nicht einfach zusammen?
    ungetestet und unter der Annahme, dass "Abstände" Leerzeichen bedeutet:

    Code
    [A-Z]{1,1}[a-z-\ ]+[\ ]{1,1}[1-9]{1,1}[0-9]{0,4}

    Gruß,
    Jojo


  • Das Zusammenfügen war ja mein Problem xD

    thx... werd ich gleich testen.. Achja Abstände nenn ich Leerschläge oder Leertaste oder halt White Spaces ... X( Is ja egal..

    Danke vielmals...

    Dann noch ne Frage:
    Was bedeutet:

    Zitat

    z-\ ]+[\ ]


    ps: hab jetzt verstanden xD habs grad zu wenig genau angeschaut :P danke für die hilfe so werd ich jetzt das auch mit den anderen RegEx's machen... Brauch ich keine Hilfe mehr ^^

    Einmal editiert, zuletzt von firefox5.0 (22. Oktober 2008 um 20:58)

  • Zitat


    Dann noch ne Frage:
    Was bedeutet:

    Code
    Zitat:z-\ ]+[\ ]

    Nuja, nen Leerzeichen halt ;)
    Die muss man halt escapen....

    Achja, diese {1,1} kannste im Prinzip auch weglassen, manche haltens halt für übersichtlicher mit, aber egal


    Einmal editiert, zuletzt von jojo87 (22. Oktober 2008 um 20:57)

  • Hab schon selber draussen xD das wusste ich schon :P Ich hab einfach {1} geschrieben...

  • Ähm weitere Frage grad kurz:

    Wie kann ich einstellen, dass ein Passwort geprüft wird und dann nur bei mind. 6 Zeichen ok ist? also etwa so []{6,} Ich will einfach mind. 6 Zeichen egal was für welche..

  • Ich hoffe dir ist bewusst, dass du banale Sachen wie Stringlänge nicht unbedingt mit Regexp prüfen solltest, da es nicht so perfomant wie zum Beispiel strlen ist.

  • Ok danke für den Hinweis ich mach des mit strlen() weil mein RegEx jetzt net mehr geht iwie xD naja egal.. strlen tuts vllt auch..

  • Für manche Sachen macht es übrigens auch Sinn, den String einfach in einer Schleife durchzugehen, damit erreichst du dasselbe wie mit Regexp, hast aber mehr Freiheiten und kannst mehrere Regexps auf einmal auswerten.