Pergunta

Estou convertendo um aplicativo da estrutura .NET para QT usando C ++. O aplicativo faz uso extensivo de Propriedades UNICODE de expressão regular, ou seja \p{L}, \p{M}, etc. Acabei de descobrir que a classe Qregexp não tem suporte para isso, entre outras coisas (lookbehinds, etc.)

Alguém pode recomendar uma biblioteca de expressão regular C ++ que:

  • Suporta propriedades Unicode
  • É consciente unicode em outros aspectos (ou seja, corresponde aos caracteres da palavra ascii)
  • Como bônus, suporta lookbehinds.

Por favor, não me aponte para o artigo da Wikipedia; Eu não confio nisso. Esse artigo diz que o QREGEXP suporta propriedades Unicode. A menos que eu esteja realmente fazendo algo errado, não. Estou procurando alguém realmente usando propriedades Unicode com uma biblioteca Regex em um projeto.

Foi útil?

Solução

http://site.icu-project.org/

UTI é um conjunto maduro e amplamente usado de C/C ++ e Bibliotecas Java que fornecem suporte unicode e globalização para aplicativos de software.

  • libertado sob uma licença de código aberto não restritivo
  • ...
  • Expressão regular: As expressões regulares da UTI suportam totalmente o Unicode, proporcionando desempenho muito competitivo.

Também é compatível com Impulso, Vejo sua declaração a este respeito.

Outras dicas

Não deve haver nada que o impeça de usar o PCRE (http://www.pcre.org/), embora a conversão de qstrings para Const Char *s possa ser um atingido por dor/performance.

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