我使用C ++将应用程序从.NET框架转换为QT。该应用程序广泛使用 正则表达Unicode属性, , IE \p{L}, \p{M}, 等等。我刚刚发现QREGEXP类缺乏对此的支持(LookBehinds等)

任何人都可以推荐一个C ++正则表达式库:

  • 支持Unicode属性
  • 在其他方面是unicode-ware(即 w匹配的匹配比ASCII单词字符更匹配)
  • 作为奖励,支持Beobhinds。

请不要指向Wikipedia文章;我不信任它。该文章说QREGEXP支持Unicode属性。除非我真的做错了什么,否则没有。我正在寻找一个实际使用Unicode属性的人,其中一个项目中的正则库。

有帮助吗?

解决方案

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

ICU是一组成熟的,广泛使用的 C/C ++ 和Java库为软件应用程序提供Unicode和全球化支持。

  • 根据非限制性开源许可发布
  • ...
  • 正则表达式: ICU的正则表达式完全支持Unicode,同时提供非常有竞争力的性能。

它也兼容 促进, , 看 他们在这方面的陈述.

其他提示

没有什么可以阻止您使用PCRE(http://www.pcre.org/),尽管从QStrings来回转换为const char *s可能会受到痛苦/性能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top