preg_match_all()计算'模式发生'事情

时间:2016-02-28 19:08:11

标签: php regex

例如,我有以下字符串1234567890

模式为/1|2/

preg_match_all('/1|2/', '1234567890', $out)

给出

 [0] ⇒ "1"
 [1] ⇒ "2"

但是我只需要知道整个模式发生时的数字(在这种情况下是1次)。 有可能找到它吗? 的

换句话说,我需要计算所有模式发生的次数


P.S。
对于关闭者'和' downvoters':这个问题远远超过正则表达式

另一个例子: 字符串sdjka1gsdf1la5wlkasdfcmjsdc8fgvkj 我需要计算出一组字母abc,然后是数字。 正如你在这个例子中看到的那样,有三个出现 - a1,a5和c8。 那我怎么算数呢?

示例2: 字符串where 1 abcd when 1 123456 where 5 when 10 abdc 我需要计算whe*+one digit发生的次数(在这种情况下为3次)

1 个答案:

答案 0 :(得分:1)

请参阅preg_match_all manual

  

返回值
  返回完整模式匹配的数量(可能为零),如果发生错误,则返回FALSE

echo preg_match_all('/[abc]\d+/', 'sdjka1gsdf1la5wlkasdfcmjsdc8fgvkj');

3 demo at eval.in