我有一个包含项目列表的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);'不知道后面需要使用正则表达式的推理,你可能解释为何 –
它必须是正则表达式,因为实际的字符串比我的例子更复杂一点?你是对的,我绝不会在这样一个简单的字符串上使用正则表达式。 –