我在使用正则表达式时遇到了困难,我在没有任何先前匹配的情况下获得了单独的“收入”。

$string = "FY2013 EPS, FQ 2012 revenue";
preg_match_all("/F[Y|Q]\s?\d{4}\sEPS|revenue/", $string, $matches);
print_r($matches);

结果:
Array ( [0] => Array ( [0] => FY2013 EPS [1] => revenue ) )

我期待的是:
Array ( [0] => Array ( [0] => FY2013 EPS [1] => FQ 2012 revenue ) )

最佳答案

它读作 OR 收入 - 您想使用:

"/F[Y|Q]\s?\d{4}\s(?:EPS|revenue)/"

其中 ?: 表示非捕获组

关于php - 正则表达式正在划分单个语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15702593/

10-11 04:19