<table class="listProvision" class="itable">
    <tr>
        <td class="whatever">some infos</td>
        <td>some more infos</td>
        <td>13908402</td>
        <td>hello world</td>
    </tr>
    <tr>
        <td class="whatever">some infos</td>
        <td>some more infos</td>
        <td id="num">13908402</td>
        <td>hello world</td>
    </tr>
</table>
Given the above sample HTML, how can I properly parse all existences of <tr>...</tr> between the table with class listProvision?
I tried: <table.*?listProvision.*?>(?:.*?<tr.*?>(.*?)</tr>)+.*?</table>, but I can't figure out what's wrong. There is never going to be any complicated html pulled into this regex so don't worry about that.