leider nochmal: reguläre Ausdrücke



  • Hallo!

    Nachdem mir beim letzten Mal schnell geholfen wurde, noch eine Frage zu regulären Ausdrücken.

    Ein kompletter String (Länge min. 1 Zeichen, Reihenfolge beliebig) soll nur aus Groß- und Kleinbuchstaben (ohne Umlaute), Zahlen und dem Unterstrich bestehen dürfen.

    Beispiel: Tunnel_2630

    Der reguläre Ausdruck dazu sollte sein: ^[A-Za-z0-9_]+$

    Leider klappt das nicht und der String oben wird als nicht gültig angezeigt.

    Seltsamerweise wird dann auch der String

    2630

    als ungültig markiert...

    Lasse ich ^ und $ weg, dann sind (logischerweise) auch Strings wie

    Tunnel-2630
    TUNNEL.2630
    Tunnäl_2630

    gültig.

    Was mache ich da falsch bzw. habe es nicht kapiert...??? (scheint irgendwas mit dem Unterstrich zu sein aber \_ hilft leider nicht)

    Ciao

    OkkaPapa



  • Hi,

    also bei mir geht das:

    > echo Tunnel_2630 |egrep '^[A-Za-z0-9_]+$'
    

    Welche regulären Ausdrücke verwendest Du denn? Eventuell hast Du keine extended regexes.



  • Hallo!

    Ich nehme die C-Lib regex.h.

    Da werde ich mich wohl mit den Extended Expressions mal umtun...

    Danke!

    OkkAPapa



  • Hey,

    löst zwar nicht Dein Problem, aber beim Testen von Regulären Ausdrücken ist das Tool richtig nützlich:
    http://regexbuilder.codeplex.com/



  • OkkaPapa schrieb:

    Hallo!

    Ich nehme die C-Lib regex.h.

    Da werde ich mich wohl mit den Extended Expressions mal umtun...

    Danke!

    OkkAPapa

    Na dann einfach mal das Flag REG_EXTENDED übergeben. Dann sollte es gehen.


Anmelden zum Antworten