Qt / C ++ Регулярная библиотека экспрессии с поддержкой свойств Unicode

StackOverflow https://stackoverflow.com/questions/2820367

  •  26-09-2019
  •  | 
  •  

Вопрос

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

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

  • Поддерживает свойства Unicode
  • Осознает Unicode-Aware в других отношениях (то есть W сопоставляет более чем символы слова ASCII)
  • Как бонус, поддерживает поиск?

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

Это было полезно?

Решение

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

ICU - зрелый, широко используемый набор C / C ++ И библиотеки Java обеспечивают поддержку Unicode и Globalization для программных приложений.

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

Это также совместимо с Увеличение, видеть Их заявление в этом отношении.

Другие советы

Там не должно быть ничего остановить вас с использованием PCRE (http://www.pcre.org/), хотя преобразование взад и вперед от QStrings до Const Char * S, может быть ударом боли / производительности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top