Easy-to-Use Unterstützung regulärer Ausdrücke in C ++?

stimmen
23

Ich bin auf der Suche nach einer robusten, einfach zu bedienende, regelmäßigen Ausdrucksauswertung für native C ++, entweder plattformunabhängige oder Windows-spezifisch.

Bedarf:

  • Kann nicht-Boost oder ACE Regex-Bibliotheken (leider)
  • Kann nicht .NET Regex verwenden (oder einen verwalteten Code)

Die wichtigste Voraussetzung ist, dass sie eigenständige und offen sein sollten.

Veröffentlicht am 04/08/2008 um 06:50
quelle vom benutzer
In anderen Sprachen...                            


10 antworten

stimmen
9

C ++ 11 enthält nun die Unterstützung von regulären Ausdrücken. Es wird plattformunabhängig sein. Sie brauchen nur einen letzten Compiler. Überprüfen Sie die folgende Liste zu wissen, was man zu verwenden.

http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

Ich hoffe es hilft

Beantwortet am 19/06/2013 um 19:47
quelle vom benutzer

stimmen
9

versuchen libpcre

Wenn Sie auf Fenster stecken haben sie eine Windows - Portierung , die funktionieren sollte. Ich weiß , dass E-Texteditor verwendet es, so zumindest , dass der Nachweis ist es funktioniert :-)

Beantwortet am 04/08/2008 um 07:23
quelle vom benutzer

stimmen
8

Qt hat auch eine schöne Regular Expression Umsetzung QRegExp . Es ist auch plattformunabhängig.

Beantwortet am 10/08/2008 um 14:07
quelle vom benutzer

stimmen
8

Wenn Sie Visual Studio verwenden , können Sie Visual C ++ 2008 Feature Pack - Version verwenden, implementiert diese einige TR1 und regelmäßige enthält Ausdrucksanalyse. Hole es

Beantwortet am 04/08/2008 um 20:44
quelle vom benutzer

stimmen
4

Ich würde zweite die Empfehlung für die PCRE . Ich habe es in C ++ Projekten in Windows verwendet , und es funktioniert super. Es ist kostenlos, auch für kommerzielle Software zu bauen. Es implementiert auch etwas von einer De - facto - Standard Sprache für reguläre Ausdrücke, die Ihre Benutzer willkommen sein werden. PCRE ist natürlich Perl-kompatibel, und Python verwendet auch die gleiche Bibliothek.

Die native PCRE-Schnittstelle ist ein wenig umständlich und sehr C-Stil, so ist es wahrscheinlich lohnt sich ein schönes C ++ Wrapper um es zu schreiben. Es ist sehr wahrscheinlich, ist bereits da draußen, aber ich bin nicht vertraut mit jedem.

Beantwortet am 11/08/2008 um 09:25
quelle vom benutzer

stimmen
4

Der GNU - C - Bibliothek reguläre Ausdrücke Einrichtung (regcomp (), regexec () und Freunde) ist gebrochen. Verwenden Sie libetre statt; die Funktionssignaturen diejenigen von glibc bereitgestellt entsprechen. http://laurikari.net/tre/

Beantwortet am 04/08/2008 um 13:23
quelle vom benutzer

stimmen
4

Die GNU C Library unterstützt reguläre Ausdrücke . Es ist offen, und der RE - Code scheint leicht herausziehbare zu sein.

Beantwortet am 04/08/2008 um 07:41
quelle vom benutzer

stimmen
3

C ++ 11 und nach vorne enthält nun die Standard - Bibliothek für reguläre Ausdrücke .
Fügen Sie die <regex>Header und Verwendung.

Beantwortet am 08/05/2016 um 14:36
quelle vom benutzer

stimmen
2

Warum Sie Microsoft ATL nicht regex Bibliothek benutzen? Kenny Kerr hat einen schriftlichen kurzen Artikel auf , dass vor kurzem.

ATL enthält eine leichte regulären Ausdruck Umsetzung. Obwohl ursprünglich ein Teil von Visual C ++, ist es nun mit dem ATL-Server-Download enthalten.

Die CAtlRegExpKlassenvorlage implementiert den Parser und Matching - Engine. ...

Die reguläre Ausdruck Grammatik ist am oberen Ende der definierten atlrx.h Header - Datei.

Beantwortet am 11/08/2008 um 07:13
quelle vom benutzer

stimmen
1

Die kostenlose ATL Server - Bibliothek und Tools von CodePlex enthält einen regulären Ausdruck Parser. Siehe AtlServer im CodePlex Archiv

ATL Server ist eine Bibliothek von C ++ Klassen, die Entwickler ermöglichen, sowohl Client- als auch Server-Teile von C ++ Service-Typ-Anwendungen und Web-Service zu bauen. Es bietet viele Funktionen in großem Umfang Internetseiten bauen erforderlich, wie SOAP Messaging, Caching Einrichtungen, Einfädeln Einrichtungen, regulären Ausdruck Verarbeitung, die Verwaltung der Session-Zustand, Leistungsüberwachung, MIME-Unterstützung, Integration mit IIS und Klasse für die Interaktion mit Sicherheit und Verschlüsselungsinfrastruktur. Die früheren Versionen der Bibliothek sind Teile von Visual Studio 2002, Visual Studio 2003 und Visual Studio 2005. Das Projekt von der Version der Bibliothek als Teil von Visual Studio 2005 SP1 veröffentlicht wird gestartet.

Beantwortet am 16/09/2008 um 21:06
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more