title: make expression recursive for nested elements
body: <p>I have a simple template system and a regular expression catch some specials tags like if conditions.
  now I need an if condition inside an if condition and my current expression breaks on the first if-endtag.</p>
  
  <p>I tried (?R) and some other but either I don't get any HTML tags inside the brackets or they break on the first /#if</p>
  
  <pre><code>{{{#if(.*?)}}}(.*?){{{\/#if}}}
  </code></pre>
  
  <p>and my HTML code</p>
  
  <pre><code>{{{#if:header:!=:}}}
      &lt;div class="header"&gt;
          &lt;h1&gt;
                  {{{header}}}
                  {{{#if:header_bar:!=:}}}
                      &lt;div class="headbuttons"&gt;
                          {{{header_bar}}}
                      &lt;/div&gt;
                  {{{/#if}}}
              &lt;/h1&gt;
          &lt;/div&gt;
      {{{/#if}}}
  </code></pre>
  
  <p>expected ist one return from #if:header:!=:}}} to the second /#if</p>
  
  <p>can someone help me please to get this work?</p>