php - 计算特定的排列

时间:2015-06-10 15:20:36

标签: php regex permutation

我有一些看起来像这样的字符串:

431234412

我要做的是找到' 1234'的所有实例。在每个字符串中,只要它们按顺序排列,就可以再次使用这些数字。

例如,在上面的字符串中会有2个' 1234'因为' 12344'可以解释为' 1234 - '或者' 123-4'。

我正在考虑编写递归函数,但也许有简单的方法可以使用正则表达式?

1 个答案:

答案 0 :(得分:0)

这样做的正则表达式非常简单:

$subject= '431234412';
preg_match_all('/(1+2+3+4)+/', $subject, $matches);

您将在数组$matches中找到所有匹配项。

每个数字后面的+表示可以重复此数字。