Biblioteca de expressão regular QT/C ++ com suporte da propriedade Unicode
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.
Solução
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.