什么是可移植且轻量级的C / C ++正则表达式库?

时间:2010-07-11 20:15:02

标签: c++ c regex

  

可能重复:
  Lightweight and portable regex library for C/C++?

我正在寻找一个C ++(C也可以接受)库来匹配正则表达式。图书馆应满足这些要求:

  • 可以在Windows上构建(MSVC 7及更高版本)
  • 可以在Linux(g ++ 3.4及更高版本)上构建。
  • 没有外部依赖;只有C / C ++运行时和STL允许
  • 适用于小型(~200个字符)字符串匹配
  • 的速度相当快

我不需要特殊的正则表达式(POSIX,PCRE等),所以一切都很好。

到目前为止,我考虑过这些库:

  • re2:有趣,但显然不支持Windows版本
  • PCRE似乎不是很“小”(超过1MB的压缩源),并且似乎不支持Windows的构建系统。
  • Boost Regex可能适合该法案,但我没有花太多时间试图弄清楚我是否可以独立构建它

还有别的吗?

5 个答案:

答案 0 :(得分:3)

快速谷歌“pcre windows”似乎说它确实支持Windows。我系统上的.so文件是< 200 KiB,所以它似乎没有占用那么多的磁盘空间......

答案 1 :(得分:3)

答案 2 :(得分:3)

C ++ TR1标准库包含正则表达式类。较新版本的MSVC contain an implementation以及Boost.Regex作为独立于编译器的实现。

答案 3 :(得分:2)

矿!但是你必须将它作为另一个工具的一部分下载 - csvfix。正则表达式代码在alib库中,基于软件工具在Pascal中的代码,移植了很多C ++的变化。它非常小,大约30K或更少的源代码,支持ed风格的rexexes,在Windows和Linux上编译,我很乐意让其他人改进它。

答案 4 :(得分:0)

Boost.Regex在编译器方面符合您的要求,但它依赖于Boost的其他部分。