title: Capture groups recursively with regex between braces
body: <p>How to write a regex, that capture every group of these structures?</p>
  <p>Tried this, but this just captures everything <code>(.*{.*}$)</code></p>
  <p>Want to have a group for each so that I can extract each one individually</p>
  <pre><code>NewRequest {
      string id = 1;
      string name = 2;
  }
  </code></pre>
  <pre><code>NewResponse {
      int64 id = 1;
      string name = 2;
  }
  </code></pre>
  <p>Complete structure:</p>
  <pre><code>NewRequest {
      string id = 1;
      string name = 2;
  }
  
   NewResponse {
      int64 id = 1;
      string name = 2;
  }
   NewResponse {
      int64 id = 1;
      string name = 2;
  }
   NewResponse {
      int64 id = 1;
      string name = 2;
  }
   NewResponse {
      int64 id = 1;
      string name = 2;
  }
  </code></pre>