Библиотека регулярных выражений Qt / C ++ с поддержкой свойств юникода - PullRequest
3 голосов
/ 12 мая 2010

Я конвертирую приложение из .Net Framework в Qt, используя C ++. В приложении широко используются свойства юникода регулярных выражений , т.е. \p{L}, \p{M} и т. Д. Я только что обнаружил, что класс QRegExp не поддерживает это, помимо прочего (lookbehinds и т. Д.)

Может кто-нибудь порекомендовать библиотеку регулярных выражений C ++, которая:

  • Поддерживает свойства Юникода
  • Поддерживает юникод в других отношениях (т. Е. \ W соответствует больше, чем символы слова ASCII)
  • В качестве бонуса поддерживает взгляды.

Пожалуйста, не указывайте мне статью в Википедии; Я не доверяю этому. В этой статье говорится, что QRegExp поддерживает свойства Юникода. Если я действительно не делаю что-то не так, это не так. Я ищу кого-то, кто действительно использует свойства юникода с библиотекой регулярных выражений в проекте.

Ответы [ 2 ]

4 голосов
/ 12 мая 2010

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

ICU - это зрелый, широко используемый набор C / C ++ и предоставление библиотек Java Поддержка Юникода и Глобализации для программные приложения.

  • выпущено под неограниченной лицензией с открытым исходным кодом
  • ...
  • Регулярное выражение: Регулярные выражения ICU полностью поддерживают Unicode обеспечивая очень конкурентоспособный производительность.

Он также совместим с Boost , см. их заявление по этому поводу .

0 голосов
/ 12 мая 2010

Ничто не должно помешать вам использовать PCRE (http://www.pcre.org/),, хотя преобразование QStrings в константные символы * и обратно может быть причиной боли / производительности.

...