boost regex expression
-
Guten Tag,
ich habe Probleme mit einem regulärem Ausdruck. ich möchte das ein Parameter genauso aussieht wie bei anderen Programmen. Mit vorangestelltem Minus und Buchstaben als eigentlich Parameter. zB so "meinProg -ass".
Meine Expression sieht momentan so aus "^(-)([a-z][A-Z])". Leider führt das nicht zum Erfolg. Ich habe auch schon anderen Expressions ausprobiert und habe mir auch die Doku angeguckt, aber ich komme einfach nicht weiter. Kann mir jemand helfen?
Das ganze dient nur zur Kontrolle um später mit den Eingaben im Code arbeiten zu können.
-
^-([a-zA-Z]+)$
-
ok das ^ steht für den anfang einer zeile, das $ für das ende. wozu ist genau jetzt aber das +?
Edit: Funktioniert auf jedenfall. danke
-
Das '+' bedeutet "einmal oder mehr". Es werden also '-a' oder '-abcdef' gematched, nicht jedoch nur '-'.
Ebenfalls wird '-abcdef5' nicht gematched, da nur a-z und A-Z zugelassen sind und das '$', wie bereits erkannt, das Ende der Eingabe bedeutet.
-
Nachtrag: Für Programm-Optionen eignet sich auch Boost.Program_Options. Kurze Einführung: http://www.radmangames.com/programming/how-to-use-boost-program_options