c++ - std::regex::multiline 不存在
问题描述
我尝试使用多行正则表达式语法,以便^$
匹配 C++ 中的行首和行尾。从 C++17 开始,std::regex
应该std::regex_constants
包含一个multiline
打开它的标志(参见参考资料)。
我已经在 Apple Clang、Ubuntu 和 Alpine 上的 GCC 上试过这个。在所有这些中,它都不起作用,据说该符号丢失了。我究竟做错了什么?我是否误解了这是自 C++17 以来的标准?
#include <regex>
int main() {
auto flag = std::regex::multiline;
}
$ g++ --version
g++ (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
$ g++ regex.cpp -std=c++17 -o regex
regex.cpp: In function 'int main()':
regex.cpp:3:27: error: 'multiline' is not a member of 'std::__cxx11::regex' {aka 'std::__cxx11::basic_regex<char>'}
3 | auto flag = std::regex::multiline;
| ^~~~~~~~~
解决方案
推荐阅读
- c# - 使用 Excel 互操作将工作表复制到另一个文件:如何避免生成绝对路径?
- python - 对以下代码的时间复杂度和空间感到困惑
- java - 如何正确定位 Spring Context 属性占位符?
- xcode - 无法在 DevOps 中运行 xCode 任务
- angular - 我打算使用真实设备的后退按钮。但每次我点击应用程序都会关闭。#离子
- java - 如何修复此浏览器或应用程序可能不安全。使用 selenium java 时出错
- java - 如何正确地将 URI 保存到首选项中的文件
- javascript - Livewire 组件不调用 javascript 方法
- jquery - 我可以在 React js 应用程序中添加自定义 JavaScript/jQuery 文件吗?
- r - Rshiny:我想让用户选择 3 个图表