title: Capture all occurrences of repeated formatted substrings
body: <p>I've a string that follows this pattern <code>[:it]Stringa in italiano[:en]String in english</code>.</p>
  <p>I'm trying to use <code>preg_match_all()</code> to capture the locales and the associated strings, ie:</p>
  <pre><code>[1] =&gt; 'it',
  [2] =&gt; 'en',
  ...
  [1] =&gt; 'Stringa in italiano',
  [2] =&gt; 'String in english'
  </code></pre>
  <p>The regex that I'm using <code>&quot;/\[:(\w+)](.+?)(?=\[:\w+])/&quot;</code> (<a href="https://regex101.com/r/eZ1gT7/400" rel="nofollow noreferrer">https://regex101.com/r/eZ1gT7/400</a>) returns only the first group of data. What I'm doing wrong?</p>