title: Xpressive >>= Operator
body: <p>I am toying around with Boost Xpressive and am having trouble with the following snippet</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;boost/xpressive/xpressive.hpp&gt;
  
  using namespace std;
  using namespace boost::xpressive;
  
  int main()
  {
      string s("123");
      sregex rex = _d;
      rex &gt;&gt;= _d;
  
      smatch what;
  
      regex_search(s, what, rex);
  
      cout &lt;&lt; "Match: " &lt;&lt; what[0] &lt;&lt; endl;
  
      return 0;
   }
  </code></pre>
  
  <p>The result of running this program is a match of <code>1</code> as opposed to the expected <code>12</code>. Does the <code>sregex::operator&gt;&gt;=</code> have a different meaning/use what I intuitively assumed? I was expecting this to yield an <code>sregex</code> similar to <code>_d &gt;&gt; _d</code>.</p>