string anhand eines regulären Ausdrucks konvertieren (boost\regexp)

inno1

Grünschnabel
Hallo Board,

kann mir jemand sagen, wie ich einen string anhand eines regulären Ausdrucks formatieren kann?

z.B. "if(irgendwas)"

möchte ich konvertieren in

"if (irgendwas) {"

Der pattern dazu müsste ungefähr so aussehen:
pattern = "if \\([a-zA-Z0-9=<>!]*\\) {"
(Es geht nicht darum zu prüfen, ob der string syntaktisch korrekt ist.)

Da ich zum Erkennen bereits boost.regexp verwende wäre ich für ein boost.regexp-Beispiel dankbar. Das ganze muss irgendwie per regex_replace oder match_results<>::format funktionieren.


Gruß


Inno
 
Hi.

C++:
cout << regex_replace(string("if(irgendwas)"), 
					  regex("if *(\\([a-zA-Z0-9=<>!]*\\)) *"), 
					  string("if $1 ")) << endl;
Gruß
 
Ich hatte bei dem pattern eigentlich an den Ziel-Format-Pattern gedacht, aber über Gruppierung sollte es auch funktionieren.

Besten Dank!


Gruß

Inno
 
Zurück