我有一個包含項目列表的PHP字符串,我想獲得最後一項。PHP preg_match獲取最後一項
現實情況要複雜得多,但它歸結爲:
$Line = 'First|Second|Third';
if (preg_match('@^.*|(?P<last>.+)[email protected]', $Line, $Matches) > 0)
{
print_r($Matches);
}
我希望Matches['last']
遏制「三」,但它不工作。相反,我得到匹配[0]包含完整的字符串,沒有別的。 我在做什麼錯?
請沒有解決方法,我可以做我自己,但我真的很喜歡這個用的preg_match工作
請問您能解釋爲什麼它必須是正則表達式嗎?如果分隔符是隻是管道,然後'結束(爆炸(「|」,$線)'真的會容易得多或許與strrpos SUBSTR – Gordon
如果你只是想最後一個部分,你可以做'SUBSTR(strrchr(。 $線,「|」),1);'不知道後面需要使用正則表達式的推理,你可能解釋爲何 –
它必須是正則表達式,因爲實際的字符串比我的例子更復雜一點?你是對的,我絕不會在這樣一個簡單的字符串上使用正則表達式。 –