如何在PHP中的字符串中获取最后一个preg_match函数结果

时间:2015-03-30 22:46:44

标签: php preg-match

我有一个字符串:

$string='Di Cioccio v Official Trustee in Bankruptcy (as Trustee of the Bankrupt Estate of Di Cioccio) (FCAFC) - bankruptcy - shares were after-acquired property which vested in Official Trustee (I B C G)';

我正在使用preg_match()函数来获取括号内的值:

preg_match('#\((.*?)\)#', $string, $match);

然而,这里的问题是" echo $ match [0]"将仅显示字符串中的第一个匹配项。

我想得到最后一场比赛即。 " I B C G"

首先想到的是从字符串的末尾搜索。但是我该怎么做呢?

2 个答案:

答案 0 :(得分:4)

如果您想查找preg_match的所有匹配项,那么我可以向您展示preg_match_all()吗?

它与其他函数的语法基本相同,但会明确地找到字符串中的所有匹配项而不是第一项。在那之后,只需echo end($match);来获得最后一个。

答案 1 :(得分:0)

在@xathien代码的帮助下,我对此问题进行了排序,代码如下:

$string='Di Cioccio v Official Trustee in Bankruptcy (as Trustee of the Bankrupt Estate of Di Cioccio) (FCAFC) - bankruptcy - shares were after-acquired property which vested in Official Trustee (I B C G)';
preg_match_all('#\((.*?)\)#', $string, $match);
echo end($match[1]);

显示器: I B C G