Vra

Ek is op soek na 'n robuuste, maklik-om-te gebruik, gereelde uitdrukking evalueerder vir inheemse C ++, óf platform-onafhanklike of Windows-spesifieke.

Vereistes:

  • Kan nie gebruik Boost of ACE regex biblioteke (ongelukkig)
  • Kan nie gebruik NET Regex (of enige beheer kode)

Die belangrikste vereiste is dat dit selfstandig en oop moet wees.

Was dit nuttig?

Oplossing

C ++ 11 sluit nou die ondersteuning van gereelde uitdrukkings. Dit sal platform onafhanklik te wees. Jy hoef net 'n onlangse samesteller. Gaan die volgende lys om te weet watter een om te gebruik.

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

Hoop dit help

Ander wenke

Probeer libpcre

As jy vas op vensters hulle het 'n Windows-poort wat moet werk. Ek weet e-teks editor gebruik dit, so ten minste dit is bewys dit werk: -)

As jy Visual Studio kan jy Visual C ++ 2008 Feature Pack Release gebruik gebruik, hierdie implemente sommige van TR1, en sluit gereelde uitdrukking pars eer. kry dit

Die GNU C Biblioteek ondersteun gereelde uitdrukkings . Dit is oop, en die RE-kode blyk maklik ontginbare te wees.

Die GNU C biblioteek gereelde uitdrukkings fasiliteit (regcomp (), regexec () en vriende) is gebreek. Gebruik libetre plaas; die funksie handtekeninge ooreenstem met die kinders wat deur glibc. http://laurikari.net/tre/

Ek sou tweede aanbeveling vir PCRE . Ek het dit gebruik in C ++ projekte in Windows en dit werk baie goed. Dit is gratis, selfs vir die bou van kommersiële sagteware. Dit implemente ook iets van 'n de facto standaard gewone uitdrukking taal, wat welkom sal wees om jou gebruikers. PCRE is natuurlik Perl-versoenbaar, en Python gebruik ook dieselfde biblioteek.

Die boorling PCRE koppelvlak is 'n bietjie ongemaklik en baie C-styl, so dit is waarskynlik die moeite werd om te skryf 'n lekker C ++ wrapper rondom dit. Daar is baie waarskynlik reeds een daar buite, maar ek is nie vertroud is met enige.

C ++ 11 en vorentoe bevat nou die standaard gewone uitdrukking biblioteek .
Sluit die <regex> kop, en gebruik.

Hoekom het jy nie Microsoft ATL se regex biblioteek gebruik? Kenny Kerr het 'n kort artikel op wat onlangs.

  

ATL sluit 'n ligte gereelde implementering uitdrukking. Hoewel   oorspronklik deel van Visual C ++, is dit nou ingesluit met die ATL Server   aflaai.

     

Die CAtlRegExp klas sjabloon implemente die parser en bypassende   enjin. ...

     

Die gewone uitdrukking grammatika word gedefinieer aan die bokant van die atlrx.h   header lêer.

Die gratis Biblioteek en gereedskap ATL Server vanaf CodePlex sluit 'n regex ontleder. Sien AtlServer in die CodePlex Argief

  

ATL Server is 'n biblioteek van C ++ klasse wat toelaat dat ontwikkelaars te bou   beide kliënt en bediener dele van diens-tipe C ++ programme en web   dienste. Dit bied baie van die funksies wat nodig is om te bou   groot skaal web sites, soos seep boodskappe, caching   fasiliteite, threading fasiliteite, gereelde uitdrukking verwerking,   bestuur van sessie-staat, monitering van prestasie, MIME ondersteuning,   integrasie met IIS en klas vir interaksie met sekuriteit en   kriptografiese infrastruktuur. Die vorige weergawes van die biblioteek is   dele van Visual Studio 2002, Visual Studio 2003 en Visual Studio   2005. Die projek het begin van die weergawe van die biblioteek vrygestel as deel van Visual Studio 2005 SP1.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top