title: Troubles with non greedy C++ regex
body: <p>I want to parse the following Lua code:</p>
  
  <pre><code>[1]={['x']=198;['y']=74;['width']=99;['height']=199;};[2]={['x']=82;['y']=116;['width']=82;['height']=164;};
  </code></pre>
  
  <p>Notice that there are two keys in the table: <code>[1]</code> and <code>[2]</code>. I want to get only the value for the <code>[1]</code> key. How do I do that? I've tried the following:</p>
  
  <pre><code>cmatch res;
  regex rx("\\[(.*)?\\]=\\{(.*)?\\};(.*)");
  regex_search(lua_table.c_str(), res, rx);
  </code></pre>
  
  <p>But it's still greedy: it matches the entire text.</p>