title: Regex get MatchCollection with the individual parts of a nested multi-part data string sequence
body: <p>I have a string with many sequence of this <a href="https://regex101.com/r/aP0qH2/325" rel="nofollow noreferrer">regex online link here</a>:</p>
  
  <pre><code>#BEGIN
  My contents, Multi-line. Anything here...
  ~!@#@#$
  ...
  #END
  #BEGIN
  My contents, Multi-line. Anything here...
  ~!@#@#$
  ...
  #END
  #BEGIN
  My contents, Multi-line. Anything here...
  ~!@#@#$
  ...
  #END
  </code></pre>
  
  <p>How can I take the <strong>3  individual matches</strong> from above string?</p>
  
  <p>I 've try <code>#BEGIN.*[\s\S]*#END</code> but I had the trouble with the nested multi-part data string sequence, it only return me <strong>1 match</strong> (from the first <code>#BEGIN</code> to the last <code>#END</code>). Please help me this case.</p>
  
  <p>Thank you very much !</p>