regular cplusplus c++ regex

cplusplus - Soporte de expresión regular fácil de usar en C++



regex w c++ (10)

Estoy buscando un evaluador de expresiones regulares robusto, fácil de usar para C ++ nativo, independiente de la plataforma o específico de Windows.

Requisitos:

  • No se pueden usar las bibliotecas de expresiones regulares de Boost o ACE (por desgracia)
  • No se puede usar .NET Regex (o cualquier código administrado)

El requisito principal es que debe ser independiente y abierto.


La Biblioteca GNU C admite expresiones regulares . Está abierto, y el código RE parece ser fácilmente extraíble.


La función de expresiones regulares de la biblioteca GNU C (regcomp (), regexec () y amigos) está rota. Use libetre en su lugar; las firmas de función coinciden con las proporcionadas por glibc. http://laurikari.net/tre/


Si usa Visual Studio, puede usar la versión del paquete de características de Visual C ++ 2008, esto implementa parte de TR1 e incluye el análisis de expresiones regulares. Consíguelo


prueba libpcre

Si estás atascado en las ventanas, tienen un puerto de Windows que debería funcionar. Sé que e-texteditor lo usa, así que al menos esa es la prueba de que funciona :-)


¿Por qué no utilizas la biblioteca de expresiones regulares de Microsoft ATL? Kenny Kerr ha escrito un breve artículo sobre eso recientemente. Espero eso ayude.


Yo secundaría la recomendación para PCRE . Lo he usado en proyectos de C ++ en Windows y funciona muy bien. Es gratis, incluso para desarrollar software comercial. También implementa algo así como un lenguaje de expresión regular estándar de facto, que será bienvenido a sus usuarios. PCRE es, por supuesto, compatible con Perl, y Python también usa la misma biblioteca.

La interfaz PCRE nativa es un poco incómoda y muy al estilo C, por lo que es probable que valga la pena escribir un buen contenedor de C ++ a su alrededor. Es muy probable que ya exista uno, pero no estoy familiarizado con ninguno.


La biblioteca gratuita de ATL Server de Codeplex incluye un analizador de expresiones regulares.

Servidor ATL