title: How to match optional group, if it is already matched by main group?
body: <p>I have input strings like:</p>
  <pre><code>any[sym)bol_text
  any[sym)bol_text (any[sym)bol_text) any[sym)bol_text
  any[sym)bol_text (this_text)
  any[sym)bol_text2 (this_text)Fzcj
  </code></pre>
  <p>And I have regexp:</p>
  <pre><code>(?&lt;text&gt;[^\r\n]+)(?:\(this_text\))?
  </code></pre>
  <p>But I can't handle strings with <code>(this_text)</code> optional group. It matches by first one, but I don't need this exact text in output</p>