Qt / C ++ Регулярная библиотека экспрессии с поддержкой свойств Unicode
Вопрос
Я преобразую приложение из .NET Framework на Qt, используя C ++. Приложение вносит широкое использование регулярное выражение свойств Unicode, т.е. \p{L}, \p{M}
, и т. Д. Я только что обнаружил, что класс Qregexp не хватает поддержки для этого среди прочего (Lookinghinds и т. Д.)
Может ли кто-нибудь рекомендовать библиотеку регулярной экспрессии C ++, которая:
- Поддерживает свойства Unicode
- Осознает Unicode-Aware в других отношениях (то есть W сопоставляет более чем символы слова ASCII)
- Как бонус, поддерживает поиск?
Пожалуйста, не указывайте мне статью Википедию; Я не доверяю этому. В этой статье говорится, что Qregexp поддерживает свойства Unicode. Если я не делаю что-то не так, это не так. Я ищу кого-то на самом деле используя свойства Unicode с библиотекой Regex в проекте.
Решение
ICU - зрелый, широко используемый набор C / C ++ И библиотеки Java обеспечивают поддержку Unicode и Globalization для программных приложений.
- Выпущены под нестрикции лицензии с открытым исходным кодом
- ...
- Регулярное выражение: Регулярные выражения ICU полностью поддерживают Unicode при обеспечении очень конкурентоспособности.
Это также совместимо с Увеличение, видеть Их заявление в этом отношении.
Другие советы
Там не должно быть ничего остановить вас с использованием PCRE (http://www.pcre.org/), хотя преобразование взад и вперед от QStrings до Const Char * S, может быть ударом боли / производительности.