C++11 正则表达式 是否有任何完整/正确的实现(现在)?
关于编译器支持与库支持的注意事项:
编译器支持= 编译器可以识别为相关功能添加到语言中的任何新语法。利用添加到程序中的新功能的代码将被编译。
库支持= 库已更新以实际实现该功能。添加到您的程序并链接到库的代码将起作用。
*编辑:我已使用新信息更新了此摘要,并将其移至下面的答案中。
根据关于可以回答您自己的问题的堆栈交换政策,我正在使用新信息更新问题的摘要部分并将其移至此答案中。
GCC:regex
直到 GCC 4.9.0 才 提供工作
Clang: 编译正则表达式
标准库:
MSVC:正则 表达式从MSVC 2010 开始工作(根据@Laurent 的回答和相关的投票)
Boost: C++11 正则表达式“基于”或“仿照”Boost。我认为这意味着不完全相同。如果有明确的差异列表,请通过链接发表评论。
自 MSVC 2010 以来,我一直在使用该<regex>
模块,它非常适合我的需要(使用来自cplusplus.com的文档)。
因此,如果您打算在 Windows 环境中进行开发,我建议您选择 MSVC 2010 或 2012。它开箱即用!
Clang 是完整的 C++11 功能。您可以在此处查看哪个版本中可用的功能:Clang C++11 features