你如何打印std :: regex?

时间:2016-11-13 04:18:50

标签: c++ regex string printing cout

如何打印std::regex的字符串表示?

说我有一组模式,我想打印第一个匹配的模式:

std::vector<std::regex>> patterns = Get();
for (auto pattern: patterns){
  if (std::regex_match("file.txt",pattern)){
    std::cout << "matched on pattern: " << /* ? pattern ? */ << '\n';
  }
}

std::cout无效std::regex

似乎没有任何方法来获取字符串表示。

我们是否应该单独携带一个字符串,或者我在文档中遗漏了什么?

1 个答案:

答案 0 :(得分:3)

  

似乎没有任何方法可以获得字符串表示。

正确。甚至没有指定std::regex甚至以您给出的形式保存表达式,如果实现决定使用更优化的格式,则可能就是这种情况。