Leichter Regex-Parser

8

Ich würde gern einen Regex-Parser verwenden, um bei einer String-Verarbeitung in einer C-Anwendung zu helfen. Ich suche idealerweise nach etwas Leichtem und Open-Source. Die Zielplattform ist ein eingebettetes System, sodass wir versuchen, so viel Speicher wie möglich zu sparen. Ich habe eine Reihe von Optionen online gefunden, aber ich habe mich gefragt, ob jemand weitere Vorschläge machen kann, die in diesem speziellen Kontext helfen könnten.

Vielen Dank,

    
Andrew Flanagan 20.11.2008, 21:35
quelle

3 Antworten

7

Scintilla , eine Open-Source-Text-Editor-Komponente, verwendet Ozan S. Yigits RE-Motor

Es wurde gewählt, weil es öffentlich zugänglich ist (also keine belastende Lizenz) und sehr leicht ist. Aber es ist ein bisschen begrenzt ... Was es wert ist, RESearch.cxx verwendet einen etwas moderneren Code (konvertiert in C ++, sollte aber nicht komplex sein, um ihn zurück in C zu konvertieren) mit einigen kleineren Erweiterungen, die ich selbst gemacht habe (Unterstützung von \ d \ s \ w usw.).

Es gibt einige Alternativen, wie Henry Spencers Bibliotheken für reguläre Ausdrücke .

Kommen Sie dazu, die Lua Regex-Engine (in String-Bibliothek, gsub-Implementierung unter andere) ist wahrscheinlich auch schnell und klein, wie die Sprache selbst. Es hat seine Macken und Einschränkungen, aber es ist sehr brauchbar.

Das Nebenprojekt LPeg kann eine interessante Alternative zu REs sein, immer noch leicht und doch leistungsstark.

    
PhiLho 20.11.2008, 22:21
quelle
5

Wenn Sie keine voll funktionsfähige Regex-Implementierung benötigen (und es klingt wie Sie nicht), dann der von Brian Kernighan und Rob Pike geschriebene Code hervorgehoben in Schöner Code wird wahrscheinlich für Ihre Bedürfnisse funktionieren. I habe einen Artikel von Dr. Dobb gefunden , der meiner Meinung nach die Entstehung des Codes ist, der im Buch erscheint.

    
cfeduke 20.11.2008 21:58
quelle
0

Angesichts Ihrer geringen Anforderungen würde ich die Regex-Bibliothek von Henry Spencer empfehlen, die POSIX BRE und ERE regex Flavors . Dies sind Standard-Regex-Varianten, mit denen Ihre Benutzer wahrscheinlich bereits vertraut sind.

    
Jan Goyvaerts 21.11.2008 10:47
quelle

Tags und Links