title: std::regex constructor throws an exception
body: <p>Note that this is <em>not</em> a duplicate of the many questions on StackOverflow concerning gcc, I'm using Visual Studio 2013.</p>
  
  <p>This simple construction of a regular expression throws <code>std::regex_error</code>:</p>
  
  <pre><code>bool caseInsensitive = true;
  char pattern[] = "\\bword\\b";
  std::regex re(pattern, std::regex_constants::ECMAScript | (caseInsensitive ? std::regex_constants::icase : 0));
  </code></pre>
  
  <p>The actual error returned by <code>what</code> on the exception object is not consistent. Usually it's a mismatched parethesis or brace. Why?</p>