我正在寻找一个强大的,易于使用的正则表达式评估程序,用于本机C ++,可以是独立于平台的,也可以是Windows特定的。
要求:
主要要求是它应该是独立的并且是开放的。
答案 0 :(得分:10)
尝试libpcre
如果你被困在窗户上,他们有一个应该有效的Windows端口。我知道e-texteditor使用它,所以至少证明它有效: - )
答案 1 :(得分:10)
C ++ 11现在包含对正则表达式的支持。 它将与平台无关。你只需要一个最近的编译器。 请查看以下列表以了解要使用的列表。
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
希望有所帮助
答案 2 :(得分:8)
如果您使用Visual Studio,则可以使用Visual C ++ 2008 Feature Pack版本,它实现了一些TR1,并包含正则表达式解析。 Get it
答案 3 :(得分:8)
Qt还有一个很好的Regular Expression实施QRegExp。它也是独立于平台的。
答案 4 :(得分:5)
GNU C Library支持regular expressions。它是开放的,RE代码似乎很容易提取。
答案 5 :(得分:4)
GNU C库正则表达式工具(regcomp(),regexec()和朋友)被破坏了。改用libetre;函数签名与glibc提供的签名相匹配。 http://laurikari.net/tre/
答案 6 :(得分:4)
我会推荐PCRE的建议。我在Windows中的C ++项目中使用过它,效果很好。即使是用于构建商业软件,它也是免费的。它还实现了一些事实上的标准正则表达式语言,欢迎您的用户使用。 PCRE当然与Perl兼容,Python也使用相同的库。
本机PCRE接口有点笨拙且非常C风格,因此可能值得为它编写一个不错的C ++包装器。很可能已经有一个,但我不熟悉任何一个。
答案 7 :(得分:3)
C ++ 11和转发现在包含standard regular expression library
添加<regex>
标题,然后使用。
答案 8 :(得分:2)
为什么不使用Microsoft ATL的正则表达式库? Kenny Kerr最近写了short article。
ATL包含一个轻量级的正则表达式实现。虽然 它最初是Visual C ++的一部分,现在包含在ATL Server中 下载。
CAtlRegExp
类模板实现解析器和匹配 发动机。 ...正则表达式语法定义在
atlrx.h
的顶部 头文件。
答案 9 :(得分:1)
CodePlex的免费ATL服务器库和工具包括一个正则表达式解析器。见AtlServer in the CodePlex Archive
ATL Server是一个允许开发人员构建的C ++类库 服务类型C ++应用程序和Web的客户端和服务器部分 服务。它提供了构建所需的许多功能 大型互联网站点,如SOAP消息传递,缓存 设施,线程设施,正则表达处理, 会话状态管理,性能监控,MIME支持, 与IIS和类集成以与安全性和安全性进行交互 加密基础设施。该库的早期版本是 Visual Studio 2002,Visual Studio 2003和Visual Studio的一部分 该项目已从作为Visual Studio 2005 SP1的一部分发布的库版本开始。