C ++ 11正则表达式抛出std :: regex_error

时间:2015-10-25 22:40:56

标签: c++ regex c++11

我正在开展一个项目,要求我找到LaTeX源码中的所有定理,但我遇到了std::regex的问题:

#include <iostream>
#include <regex>

int main() {
  std::regex r("\\begin{theorem}"); // throws `std::regex_error`

  return 0;
}

我尝试使用不同的regex_constants构建此对象,但它总是抛出异常。

对SO进行搜索显示 libstdc++存在问题,但这些问题都来自几年前。

我正在使用gcc 5.2.0

中的homebrew

为什么这不起作用?

1 个答案:

答案 0 :(得分:2)

您需要转发{}。它们被视为元字符,如&#34; a {1,3}&#34;。