Pergunta

Eu estou procurando um robusto, de fácil utilização, regular avaliador de expressão para C++ nativo, seja independente de plataforma ou específicos para Windows.

Requisitos:

  • Não pode usar o Boost ou ÁS regex bibliotecas (infelizmente)
  • Não pode usar .NET Regex (ou qualquer código gerenciado)

O principal requisito é que ele deve ser autônomo e aberto.

Foi útil?

Solução

C++11 agora inclui o apoio de expressões regulares.Ele vai ser independente de plataforma.Você só precisa de um recente compilador.Verifique a seguinte lista para saber qual usar.

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

Espero que ajude

Outras dicas

tente libpcre

Se você está preso no windows têm um windows porta que deve funcionar.Eu sei e-texteditor utiliza, então, pelo menos, o que prova que funciona :-)

Se você usar o Visual Studio, você pode usar o Visual C++ 2008 Feature Pack Release, este implementa alguns dos TR1, e inclui a expressão regular de análise. Obtê-lo

Qt tem também um bom Expressão Regular implementação QRegExp.Ele também é independente de plataforma.

A GNU Biblioteca C suporta expressões regulares.É aberto, e o RE código parece ser facilmente extraíveis.

A biblioteca GNU C expressões regulares facility (regcomp(), regexec() e amigos) está quebrado.Use libetre vez;a função de assinaturas correspondem aos fornecidos pela glibc.http://laurikari.net/tre/

Gostaria de segunda a recomendação para PCRE.Eu tenho usado em projetos em C++ no Windows e funciona muito bem.É grátis, até mesmo para a construção de software comercial.Ele também implementa um padrão de facto regular expression language, que serão bem-vindas para o seu blog.PCRE é, claro, Perl-compatível, e Python também usa a mesma biblioteca.

O nativo PCRE interface é um pouco estranho e muito estilo C, então provavelmente vale a pena escrever um bom C++ wrapper em torno dele.Não é muito provável que já está por aí, mas eu não estou familiarizado com qualquer um.

C++11 e para a frente agora contém o padrão da biblioteca de expressões regulares.
Incluir o <regex> cabeçalho e usar.

Por que você não usa o Microsoft ATL do regex biblioteca?Kenny Kerr tem escrito um artigo curto sobre isso recentemente.

ATL inclui uma leve expressão regular aplicação.Apesar de originalmente parte do Visual C++, isso agora está incluído com o Servidor ATL baixar.

O CAtlRegExp modelo de classe implementa o analisador de correspondência e o motor....

A expressão regular a gramática é definido na parte superior da atlrx.h arquivo de cabeçalho.

A graça de Servidor ATL e a Biblioteca de Ferramentas do CodePlex inclui uma regex analisador.Ver AtlServer no CodePlex Arquivo

Servidor ATL é uma biblioteca de classes C++ que permitem aos programadores criar o cliente e servidor de peças de serviço-tipo de aplicações C++ e web serviços.Ele fornece a funcionalidade necessária para construir grande escala de sites da internet, tais como o SABÃO de mensagens, colocação em cache instalações, enfiar instalações, expressão regular processamento, gerenciamento de estado de sessão, monitoramento de desempenho, suporte MIME, integração com o IIS e classe para interagir com segurança e criptografia de infra-estrutura.As versões anteriores da biblioteca peças do Visual Studio 2002, Visual Studio 2003 e Visual Studio 2005.O projeto foi iniciado a partir da versão da biblioteca lançado como parte do Visual Studio 2005 SP1.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top