title: boost::regex_match gives different result than many online reggex tester
body: <p>I want to match a string given in an input field. </p>
  
  <pre><code>A sample data could be "hello" -&gt; returns true 
  or "\"" -&gt; returns true 
  or "this is a string" -&gt; returns true 
  but """ should not be recognized as a string and should return false when checked by the regexp.
  </code></pre>
  
  <p>I am initializing a boost regex parser as follow:</p>
  
  <pre><code>    std::string myString = "\"\"\"";
      boost::smatch match;
      boost::regex regExpString3("[\"']((:?[^\"']|\\\")+?)[\"']");
      bool statusString3 = boost::regex_match(myString, match, regExpString3);
  </code></pre>
  
  <p>The regex_match should not match but unfortunately it does match ... </p>
  
  <p>I checked on several online reggex tester: my regular expression did not match (as expected).</p>
  
  <p>Any idea if this could be a bug of boost or am I doing something wrong ?</p>
  
  <p><a href="https://www.debuggex.com/r/x7PPH1YzPf1uwUgo" rel="nofollow">Debuggex Demo: Click me to verify ("[\"']((:?[^\"']|\\")+?)[\"']"</a></p>
  
  <p>Thanks</p>