<string> 使用<regex>

Storing regular expression result in vector<string> using <regex>

本文关键字:gt lt regex string 使用      更新时间:2023-10-16

我正在使用正则表达式从字符串中提取一行文本。我将它们存储在一个向量中以供以后使用。我的问题是当我从矢量访问文本时,什么都没有出来。我注意到在使用 cout 显示字符串时,除非我在它后面使用 endl,否则它不会显示任何内容。我还注意到,C++故意给出的示例显示regex_search结果 http://www.cplusplus.com/reference/regex/regex_search/。

这是我有问题的代码片段:

while (regex_search(s, m, e)) {
     for (auto x:m){
        blocks.push_back(x);
     }
     s = m.suffix().str();
}
for (auto i: blocks){
        cout << i;
}

当我这样做时

for (auto i: blocks){
        cout << i << endl;
}

它显示内容。

cout可能会缓存。 endl刷新缓存作为cout.flush();cout.flush();放在最后一个循环之后,看看它的输出是什么。