title: Regex for Python with nested results
body: <p>I have the following "string":</p>
  
  <pre><code>{ see 'identifier' }
       Some Text
       { see 'otherid' }
            Another Piece of Text
       { /see }
  { /see }
  </code></pre>
  
  <p>I would like to "extract" both start/finish in a list, thinking regex of course.
  Right now I do:</p>
  
  <pre><code>(\{ see([\s\S]+?)\}([\s\S]*?)\{ \/see \})
  </code></pre>
  
  <p>Which results in:</p>
  
  <pre><code>Match 1
      1.  { see 'identifier' } Some Text { see 'otherid' } Another Piece of Text { /see }
      2.  'identifier'
      3.  Some Text { see 'otherid' } Another Piece of Text
  </code></pre>
  
  <p>However, I was hoping to capture two matches...</p>
  
  <pre><code> Match 1:
      1.  { see 'identifier' } Some Text { see 'otherid' } Another Piece of Text { /see } { /see }
      2.  'identifier'
      3.  Some Text { see 'otherid' } Another Piece of Text { /see }
  
  And Match 2:
      1.  { see 'otherid' } Another Piece of Text { /see }
      2.  'otherid'
      3.  Another Piece of Text
  </code></pre>
  
  <p>Is this possible in a single regex, or should i be thinking differently about this?</p>
  
  <p>If needed, this is in Py3.4+, no framework or anything but native modules available. Pip installs possible but not preferred. Thanks!</p>