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

votos
23

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.

Publicado el 04/08/2008 a las 06:50
fuente por usuario
En otros idiomas...                            


10 respuestas

votos
9

C ++ 11 ahora incluye el soporte de expresiones regulares. Será independiente de la plataforma. Sólo se necesita un compilador reciente. Consulte la siguiente lista para saber cuál de ellos utilizar.

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

Espero eso ayude

Respondida el 19/06/2013 a las 19:47
fuente por usuario

votos
9

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 :-)

Respondida el 04/08/2008 a las 07:23
fuente por usuario

votos
8

Qt también tiene una buena implementación de Expresión Regular QRegExp . También es plataforma independiente.

Respondida el 10/08/2008 a las 14:07
fuente por usuario

votos
8

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

Respondida el 04/08/2008 a las 20:44
fuente por usuario

votos
4

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.

Respondida el 11/08/2008 a las 09:25
fuente por usuario

votos
4

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/

Respondida el 04/08/2008 a las 13:23
fuente por usuario

votos
4

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

Respondida el 04/08/2008 a las 07:41
fuente por usuario

votos
3

C ++ 11 y hacia adelante ahora contiene la biblioteca de expresiones regulares estándar .
Incluir la <regex>cabecera, y el uso.

Respondida el 08/05/2016 a las 11:36
fuente por usuario

votos
2

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

ATL incluye una implementación ligera de expresión regular. Aunque originalmente era parte de Visual C ++, ahora se incluye con la descarga del servidor ATL.

La CAtlRegExpplantilla de clase implementa el analizador y el motor correspondiente. ...

La gramática de expresión regular se define en la parte superior del atlrx.h archivo de encabezado.

Respondida el 11/08/2008 a las 07:13
fuente por usuario

votos
1

La biblioteca y las herramientas de servidor ATL gratuitas de CodePlex incluyen un analizador de expresiones regulares. Consulte AtlServer en el archivo CodePlex

ATL Server es una biblioteca de clases de C ++ que permite a los desarrolladores crear partes de cliente y servidor de aplicaciones de C ++ de tipo servicio y servicios web. Proporciona gran parte de la funcionalidad necesaria para construir sitios de Internet a gran escala, como mensajería SOAP, instalaciones de almacenamiento en caché, instalaciones de subprocesamiento, procesamiento de expresiones regulares, administración de estado de sesión, monitoreo de rendimiento, soporte MIME, integración con IIS y clase para interactuar con seguridad e infraestructura criptográfica. Las versiones anteriores de la biblioteca son parte de Visual Studio 2002, Visual Studio 2003 y Visual Studio 2005. El proyecto ha comenzado desde la versión de la biblioteca publicada como parte de Visual Studio 2005 SP1.

Respondida el 16/09/2008 a las 21:06
fuente por usuario

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