Enkel å bruke vanlige uttrykk støtte i C ++?

stemmer
23

Jeg leter etter en robust, enkel å bruke, regulære uttrykk evaluator for native C ++, enten plattformuavhengig eller Windows-spesifikke.

Krav:

  • Kan ikke bruke Boost eller ACE regex biblioteker (dessverre)
  • Kan ikke bruke .NET Regex (eller forvaltet kode)

Det viktigste kravet er at det skal være frittstående og åpen.

Publisert på 04/08/2008 klokken 05:50
kilden bruker
På andre språk...                            


10 svar

stemmer
10

prøve libpcre

Hvis du sitter fast på vinduene de har en Windows-port som skal fungere. Jeg vet e-texteditor bruker det, så i hvert fall det er bevis det fungerer :-)

Svarte 04/08/2008 kl. 06:23
kilden bruker

stemmer
9

C ++ 11 inkluderer nå støtte for regulære uttrykk. Det vil være plattformuavhengig. Du trenger bare en fersk kompilatoren. Sjekk følgende liste for å vite hvilken du vil bruke.

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

Håper det hjelper

Svarte 19/06/2013 kl. 18:47
kilden bruker

stemmer
8

Qt har også en fin Regular Expression implementering QRegExp . Det er også plattformuavhengig.

Svarte 10/08/2008 kl. 13:07
kilden bruker

stemmer
8

Hvis du bruker Visual Studio kan du bruke Visual C ++ 2008 Feature Pack Release, implementerer dette noen av TR1, og omfatter regulære uttrykk parsing. Skjønner

Svarte 04/08/2008 kl. 19:44
kilden bruker

stemmer
5

GNU C Library støtter regulære uttrykk . Det er åpent, og RE-kode ser ut til å være lett utvinnbar.

Svarte 04/08/2008 kl. 06:41
kilden bruker

stemmer
4

Jeg ville andre anbefalingen for PCRE . Jeg har brukt det i C ++ prosjekter i Windows, og det fungerer bra. Det er gratis, selv for å bygge kommersiell programvare. Det implementerer også noe av en de facto standard regulære uttrykk språket, som vil være velkommen til brukerne. PCRE er selvfølgelig Perl-kompatible, og Python bruker også samme bibliotek.

De innfødte PCRE grensesnittet er litt vanskelig og svært C-stil, så det er nok verdt å skrive en hyggelig C ++ wrapper rundt det. Det er svært sannsynlig allerede er der ute, men jeg er ikke kjent med noen.

Svarte 11/08/2008 kl. 08:25
kilden bruker

stemmer
4

GNU C-bibliotek regulære uttrykk anlegget (regcomp (), regexec () og venner) er brutt. Bruk libetre i stedet; funksjons signaturer matche de som tilbys av glibc. http://laurikari.net/tre/

Svarte 04/08/2008 kl. 12:23
kilden bruker

stemmer
3

C ++ 11 og fremover nå inneholder standard regulært uttrykk bibliotek .
Inkluder <regex>header, og bruk.

Svarte 08/05/2016 kl. 14:36
kilden bruker

stemmer
2

Hvorfor ikke bruke Microsoft ATL er regex bibliotek? Kenny Kerr har skrevet en kort artikkel om at nylig.

ATL omfatter en lett vanlig uttrykk gjennomføring. Selv opprinnelig en del av Visual C ++, er det nå følger med ATL Server nedlasting.

Den CAtlRegExpklassen mal implementerer parser og matchende motor. ...

Det vanlige uttrykk grammatikk er definert ved toppen av atlrx.h topptekstfilen.

Svarte 11/08/2008 kl. 06:13
kilden bruker

stemmer
1

Den gratis ATL Server Library og verktøy fra CodePlex inkluderer en regex parser. Se AtlServer i CodePlex Arkiv

ATL Server er et bibliotek med C ++ klasser som lar utviklere å bygge både klient og server deler av service type C ++ applikasjoner og web-tjenester. Det gir mye av funksjonaliteten som kreves for å bygge storskala nettsteder, for eksempel SOAP meldinger, caching fasiliteter, threading fasiliteter, regulære uttrykk behandling, håndtering av session-tilstand, ytelse overvåking, MIME-støtte, integrasjon med IIS og klasse for å kommunisere med sikkerhet og kryptografisk infrastruktur. De tidligere versjonene av biblioteket er deler av Visual Studio 2002, Visual Studio 2003 og Visual Studio 2005. Prosjektet har startet fra versjonen av biblioteket utgitt som en del av Visual Studio 2005 SP1.

Svarte 16/09/2008 kl. 20:06
kilden bruker

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