title: Problem with positive lookbehind and repeating pattern
body: <p>Consider the following string:</p>
  <pre><code>ab(cd.xz) e(ab(fg).xz)) ab(hi.xz)
  </code></pre>
  <p>I want to match every substring that starts after ab( and ends with z. So I've written the following Regular Expression:</p>
  <pre><code>(?&lt;=a.*?\().*?z
  </code></pre>
  <p>This should attempt to do the following according to RegexBuddy:</p>
  <pre><code>Assert that the regex below can be matched, with the match ending at this position (positive lookbehind) «(?&lt;=a.*?\()»
     Match the character “a” literally «a»
     Match any single character that is not a line break character «.*?»
        Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
     Match the character “(” literally «\(»
  Match any single character that is not a line break character «.*?»
     Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
  Match the character “z” literally «z»
  </code></pre>
  <p>The result I get in RegexBuddy are the following matches (notice the middle one is not working right, as it should match <code>fg).xz</code>). What am I doing wrong?</p>
  <p><a href="https://i.stack.imgur.com/2Ndh1.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2Ndh1.jpg" alt="" /></a></p>