regex -C ++中易于使用的正则表达式支持

Translate

我正在寻找针对本机C ++的健壮,易于使用的正则表达式评估器,该评估器可独立于平台或特定于Windows。

要求:

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

主要要求是它应该独立且开放。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

C ++ 11现在包括对正则表达式的支持。它将是独立于平台的。您只需要一个新的编译器。检查以下列表以了解要使用的列表。

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

希望能帮助到你

来源
Translate

尝试libpcre

如果您被困在Windows上,它们有一个可以正常工作的Windows端口。我知道电子教员使用它,因此至少可以证明它有效:-)

来源
Translate

如果使用Visual Studio,则可以使用Visual C ++ 2008 Feature Pack Release,它实现了TR1的某些功能,并包括正则表达式解析。得到它

来源
Translate

Qt也很好正则表达式实作QRegExp。它也是平台无关的。

来源
Translate

GNU C库支持常用表达。它是开放的,并且RE代码似乎很容易提取。

来源
Sandy Lee
Translate

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

来源
Translate

我会建议聚四氟乙烯。我已经在Windows的C ++项目中使用了它,并且效果很好。它是免费的,甚至用于构建商业软件。它还实现了事实上的标准正则表达式语言,将欢迎您的用户。 PCRE当然是Perl兼容的,Python也使用相同的库。

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

来源
Translate

C ++ 11及更高版本现在包含标准正则表达式库.
包括<regex>标头,然后使用。

来源
Translate

您为什么不使用Microsoft ATL的正则表达式库?肯尼·克尔(Kenny Kerr)写了一篇短文在最近。

ATL包括轻量级的正则表达式实现。尽管它最初是Visual C ++的一部分,但现在已包含在ATL Server下载中。

CAtlRegExp类模板实现了解析器和匹配引擎。 ...

正则表达式语法定义在atlrx.h头文件。

来源
Rob
Translate

CodePlex提供的免费ATL Server库和工具包括一个正则表达式解析器。看到CodePlex存档中的AtlServer

ATL Server是C ++类的库,允许开发人员构建服务类型C ++应用程序和Web服务的客户端和服务器部分。它提供了构建大型Internet站点所需的许多功能,例如SOAP消息传递,缓存功能,线程功能,正则表达式处理,会话状态管理,性能监控,MIME支持,与IIS的集成以及与安全进行交互的类和密码基础架构。该库的早期版本是Visual Studio 2002,Visual Studio 2003和Visual Studio 2005的一部分。该项目从作为Visual Studio 2005 SP1的一部分发布的库的版本开始。

来源