【问题标题】:How to get the last preg_match function result in a string in PHP如何在 PHP 中获取最后一个 preg_match 函数结果为字符串
【发布时间】:2015-03-30 22:46:43
【问题描述】:

我有一个字符串:

$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"

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

【问题讨论】:

    标签: php preg-match


    【解决方案1】:

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

    它的语法与其他函数基本相同,但会显式查找字符串中的所有匹配项,而不仅仅是第一个。之后,只需echo end($match); 即可获得最后一个。

    【讨论】:

      【解决方案2】:

      在@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

      【讨论】:

        猜你喜欢
        • 2011-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 2011-07-07
        • 2011-08-17
        相关资源
        最近更新 更多