PHP preg_match get the last item
<p>I have a string with a list of items, and I would like to get the last one.
The reality is much more complex, but it boils down to:</p>

<pre><code>$Line = 'First|Second|Third' ;
if ( preg_match( '@^.*|(?P&lt;last&gt;.+)$@', $Line, $Matches ) &gt; 0 )
    {
    print_r($Matches);
    }
</code></pre>

<p>I would expect Matches['last'] to contain 'Third', but it does not work. Rather, I get Matches[0] to contain the full string and nothing else.
What am I doing wrong?
Please no workarounds, I can do it myself but I would really like to have this working with preg_match</p>
