RegExp - Reguläre Ausdrücke für C/C++?

Prophet05

Erfahrenes Mitglied
Gibt es in der C++ standard Bibliothek einen Header welcher Funktionen beinhaltet welche Strings mit hilfe Regulärer Ausdrücke untersuchen beziehungsweise verändern können?

Ich denke da an Funktionen wie preg_match oder preg_replace ind PHP.

mfg Prophet05
 
Hy!

Nein, in den Standart Librarys sind Regexe nicht vorhanden, allerdings gibt es einige externe Librarys dafür, z.B. in der Boost Library ist eine Regex-Klasse vorhanden.

mfg
uhu01
 
Ja von der habe ich bereits gehört aber ich dachte mehr an einfache Funktionen. Oder gibt es Librarys mit einfachen Funktionen, dazu nicht?

MfG Prophet05
 
Hy!

Ich kenne keine "einfachen" Funktionen die Regex Unterstützung bieten, und denke auch nicht das du was für c++ finden wirst das nicht in eine Klasse verpackt ist. Schau dir die Regex Klasse aus der Boost mal an, ist relativ einfach zu benutzen.
Siehe Beispiel

mfg
uhu01
 
Zuletzt bearbeitet:
Verstehe ich das Beispiel richtig so wird am begin eine Arte "Datei-Karte" erstellt. Aus die wird dan nachrer der Ausdruck angewandt. Mit einer Deutschen übersetzung wäre es auch kein problem für mich mich dort reinzulesen. Ich kann zwar gut englisch aber die ganzen Fachbegriffe Iritieren doch sehr. Ich werde mal gucken ob ih das verstehe.
 
Hey Danke! Das hört sich super an.Aber entschuldige die dumme frage was sind *.sig oder *.gz Dateien? Also was muss ich mit denen machen?
 
Hi.

Tip: http://www.endungen.de

.gz Dateien sind komprimierte Dateien, die man mit einem Entpackprogramm entpacken kann (z.B. 7-zip).

.sig Dateien sind digitale Unterschriften mit denen man kontrollieren kann ob die Datei die man runtergeladen hat (man braucht dann 2 Dateien, z.B. a.exe und a.exe.sig) auch wirklich von demjenigen ist, der dort genannt ist um sicherzustellen, dass niemand die Datei auf dem Server heimlich austauscht. Dazu braucht man dann den öffentlichen Schlüssel desjenigen aus einer vertrauenvollen Quelle und kann dann mit mit einem Programm wie GnuPG überprüfen ob die Signatur echt ist.
 
Hallo,

ich bin vor kurzem auf das gleiche Problem gestoßen und wollte mich also auch mal zu Wort melden. :)
Da ich Perl mit all seinen Möglichkeiten bei Matching Patterns mag, hab ich versucht, Perl-Code in C(++) einzubinden.
Besonders mag ich die Klammerung von RegEx, nach denen dann Variablen ($1, $2,..) erstellt werden, mit denen man auf Teile eines großen Ausdrucks zugreifen kann.

Ich bin eben auf CPerlWrap gestoßen. Sieht sehr vielversprechend aus, finde ich.
Man erzeugt eine Instanz und kann dann einfach Variablen im- und exportieren und Perl-Code ausführen.
Man braucht zwar auf der Build-Machine Perl, aber wohl nicht auf der Target-Machine.
Leider ist das Ding für MFC gedacht.
Ich will aber nichts für Windows(only) schreiben... ich brauch nichtmal 'n GUI.
Gibt es etwas ähnliches für... für was eigentlich? Für normales C bzw C++ ohne MFC?

Ich konnte leider noch nicht mit CPerlWrap rumspielen, da ich hier nichts testen kann, aber vielleicht kann man die Klasse auch einfach umschreiben..
 
Zurück