title: Regex grouping matches with C++ 11 regex library
body: <p>I'm trying to use a regex for group matching. I want to extract two strings from one big string.</p>
  
  <p>The input string looks something like this:</p>
  
  <pre><code>tХB:Username!Username@Username.tcc.domain.com Connected
  tХB:Username!Username@Username.tcc.domain.com WEBMSG #Username :this is a message
  tХB:Username!Username@Username.tcc.domain.com Status: visible
  </code></pre>
  
  <p>The <code>Username</code> can be anything. Same goes for the end part <code>this is a message</code>.</p>
  
  <p>What I want to do is extract the <strong><em>Username</em></strong> that comes after the pound sign <code>#</code>. Not from any other place in the string, since that can vary aswell. I also want to get the <strong><em>message</em></strong> from the string that comes after the semicolon <code>:</code>. </p>
  
  <p>I tried that with the following regex. But it never outputs any results.</p>
  
  <pre><code>regex rgx("WEBMSG #([a-zA-Z0-9]) :(.*?)");
  smatch matches;
  
  for(size_t i=0; i&lt;matches.size(); ++i) {
      cout &lt;&lt; "MATCH: " &lt;&lt; matches[i] &lt;&lt; endl;
  }
  </code></pre>
  
  <p>I'm not getting any matches. What is wrong with my regex?</p>