Ich schreibe einen einfachen Konfigurationsdateiparser in C++ 11 und möchte eine Regex verwenden, um die Schlüssel = Wert-Paare aus einer Textdatei auszuwählen. Ich möchte Kommentare in dieser Datei unterstützen, die mit einem # Symbol gekennzeichnet sind. Bisher habe ich folgendes:Regex: Ignoriere nachfolgende Leerzeichen in der Erfassungsgruppe
^(\w+)\s*=\s*([^#]+)
Dies entspricht einem alphanumerischen Parameternamen am Anfang der Zeile beginnen, ermöglicht optional Leerzeichen um das Zeichen = und dann alles fängt bis zu einem Kommentar Symbol. Das scheint ganz gut zu funktionieren, mit Ausnahme in dem folgende Beispiel:
PARAM_1 = Test mit Kommentar # Kommentar
Die zweite Erfassungsgruppe fängt die Leerzeichen zwischen dem Ende des Parameterwertes und dem Symbol #. Gibt es überhaupt eine Möglichkeit, dass ich in der zweiten Capturing Group alle nachfolgenden Leerzeichen ignorieren kann?
Welche Sprache/welches Werkzeug benutzen Sie? –
Ich benutze C++ 11 und Std :: Regex_search – rozzy