我有一个字符串和子字符串的格式,例如“Hello world!%1, abcdef%2, gfgf%14”,即子字符串的格式是'%'+digit (0...infinity),我需要得到任何字符串中此子字符串的计数。我知道 substring_count 函数,但是对于这个函数,我需要知道一个定义的行。那么,请告诉我,我怎样才能使用正则表达式或其他任何东西来计数?
编辑:
此代码有效:
$r = "Hello world!%1, abcdef%2, gfgf%14";
$matches = array();
preg_match_all('/\%\d+/', $r, $matches);
echo isset($matches[0]) ? count($matches[0]) : 0;
但是如果我在 %1 之前或之后有一个空格,则代码不起作用。请修复这个表达式。提前致谢。