QT/C ++正则表达式库具有Unicode属性支持
题
我使用C ++将应用程序从.NET框架转换为QT。该应用程序广泛使用 正则表达Unicode属性, , IE \p{L}, \p{M}
, 等等。我刚刚发现QREGEXP类缺乏对此的支持(LookBehinds等)
任何人都可以推荐一个C ++正则表达式库:
- 支持Unicode属性
- 在其他方面是unicode-ware(即 w匹配的匹配比ASCII单词字符更匹配)
- 作为奖励,支持Beobhinds。
请不要指向Wikipedia文章;我不信任它。该文章说QREGEXP支持Unicode属性。除非我真的做错了什么,否则没有。我正在寻找一个实际使用Unicode属性的人,其中一个项目中的正则库。
解决方案
ICU是一组成熟的,广泛使用的 C/C ++ 和Java库为软件应用程序提供Unicode和全球化支持。
- 根据非限制性开源许可发布
- ...
- 正则表达式: ICU的正则表达式完全支持Unicode,同时提供非常有竞争力的性能。
其他提示
没有什么可以阻止您使用PCRE(http://www.pcre.org/),尽管从QStrings来回转换为const char *s可能会受到痛苦/性能。
不隶属于 StackOverflow