在C++中易于使用的正则表达式支持?

24 c++ regex

我正在寻找一个强大的,易于使用的常规表达式评估器,用于本机C++,可以是平台无关的,也可以是Windows特定的.

要求:

  • 不能使用Boost或ACE正则表达式库(不幸的是)
  • 无法使用.NET Regex(或任何托管代码)

主要要求是它应该是独立和开放的.

Gab*_*iel 11

C++ 11现在包含对正则表达式的支持.它将与平台无关.你只需要一个最近的编译器.检查以下列表以了解要使用的列表.

http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

希望能帮助到你


Ori*_*rds 10

尝试libpcre

如果你被困在窗户上,他们有一个应该工作的Windows端口.我知道e-texteditor使用它,所以至少证明它有效:-)


vzc*_*czc 8

如果使用Visual Studio,则可以使用Visual C++ 2008 Feature Pack版本,它实现了一些TR1,并包含正则表达式解析.得到它


小智 8

Qt还有一个很好的正则表达式实现QRegExp.它也是平台独立的.


Gre*_*ill 6

我会支持PCRE的建议。我在 Windows 的 C++ 项目中使用过它,效果很好。它是免费的,即使用于构建商业软件也是如此。它还实现了某种事实上的标准正则表达式语言,这将受到您的用户的欢迎。PCRE 当然是 Perl 兼容的,Python 也使用相同的库。

本机 PCRE 接口有点笨拙且非常 C 风格,因此可能值得围绕它编写一个不错的 C++ 包装器。很可能已经有一个,但我不熟悉任何一个。


Mar*_*son 5

GNU C库支持正则表达式.它是开放的,RE代码似乎很容易提取.


小智 5

GNU C 库正则表达式工具(regcomp()、regexec() 和朋友)已损坏。改用 libetre;函数签名与 glibc 提供的签名相匹配。 http://laurikari.net/tre/