具有unicode属性支持的Qt / C ++正则表达式库

时间:2010-05-12 15:38:14

标签: c++ regex qt qregexp

我正在使用C ++将.Net框架中的应用程序转换为Qt。该应用程序广泛使用regular expression unicode properties,即\p{L}, \p{M}等。我刚刚发现QRegExp类缺乏对此的支持(lookbehinds等)

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

  • 支持unicode属性
  • 在其他方面是否具有unicode感知功能(即\ w匹配多于ASCII字符)
  • 作为奖励,支持lookbehinds。

请不要指向我的维基百科文章;我不相信。那篇文章说QRegExp支持unicode属性。除非我真的做错了什么,否则它不会。我正在寻找在项目中使用ungeode属性和正则表达式库的人。

2 个答案:

答案 0 :(得分:4)

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

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

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

它也与Boost兼容,请参阅their statement in this regard

答案 1 :(得分:0)

应该没有什么可以阻止你使用PCRE(http://www.pcre.org/),虽然从QStrings转换为const char * s可能会造成痛苦/性能损失。