我对基本的Regex库感兴趣。我相信我可以使用C ++ TR1。在研究期间,类似的答案声称C ++ TR1由Boost提供(有些人放弃)。
也许我错过了一些东西,但我没有看到C ++技术人员committee对Boost的认可,我怀疑微软,Dinkumware等是否在他们的实现中使用它。看看GCC来源,我甚至不确定GCC是否正在使用Boost库。
任何人都可以指出TR1 Regex由Boost提供的声明吗?
杰夫
答案 0 :(得分:2)
升压不提供TR1。但是boost有自己的TR1实现。 http://www.boost.org/doc/libs/1_47_0/doc/html/boost_tr1.html
TR1库提供了标准库扩展的C ++技术报告的实现。这个库本身并不实现TR1组件,而是一个瘦的包装器,它将包含标准库的TR1实现(如果有的话),否则它将包含Boost Library的等价物,并将它们导入命名空间std :: tr1。 / p>
答案 1 :(得分:2)
Boost提供的TR1 Regex 不。 TR1将由您的实施提供。但是,TR1主要是基于的来自Boost库的东西。 Boost的许多贡献者恰好是C ++标准委员会成员,因此Boost经常被用作未来采用C ++标准库的测试平台。但是,TR1现在已经很老了,并且大多数实现已经将所有内容都移动到它们的标准库中,因此除非为了向后兼容,否则没有太多理由在TR1名称空间中使用东西。
答案 2 :(得分:1)
我推荐PCRE。它是一个非常成熟,强大且功能强大的开源C库正则表达式引擎,由Phillip Hazel编写,并被许多值得注意的项目使用,如PHP,Apache,KDE,Safari等。有一个C ++包装器。