Domanda

Sto convertendo un'applicazione dal framework .NET in QT usando C ++. L'applicazione fa ampio uso di Espressione regolare Proprietà Unicode, cioè \p{L}, \p{M}, ecc. Ho appena scoperto che la classe QRegexp non ha supporto per questo (lookbehinds, ecc.)

Qualcuno può raccomandare una libreria di espressione regolare C ++ che:

  • Supporta le proprietà Unicode
  • È consapevole di Unicode per altri aspetti (cioè corrisponde più ai caratteri di parole ASCII)
  • Come bonus, supporta lookinghinds.

Per favore, non indicarmi l'articolo di Wikipedia; Non mi fido. Quell'articolo afferma che QRegexP supporta le proprietà Unicode. A meno che non stia davvero facendo qualcosa di sbagliato, non lo fa. Sto cercando qualcuno che effettivamente utilizzi le proprietà Unicode con una libreria Regex in un progetto.

È stato utile?

Soluzione

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

L'ICU è un insieme maturo e ampiamente usato C/C ++ e le librerie Java che forniscono supporto Unicode e globalizzazione per le applicazioni software.

  • rilasciato sotto una licenza open source non restrittiva
  • ...
  • Espressione regolare: Le espressioni regolari dell'ICU supportano pienamente Unicode fornendo prestazioni molto competitive.

È anche compatibile Incremento, vedere la loro affermazione al riguardo.

Altri suggerimenti

Non dovrebbe esserci nulla che ti impedisca di usare PCRE (http://www.pcre.org/), sebbene la conversione avanti e indietro da Qstrings in const *s potrebbe essere un colpo di dolore/prestazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top