preg匹配计数匹配

Sca*_*ace 13 php regex

我有一个preg匹配语句,它检查匹配,但我想知道如何计算匹配.任何建议表示赞赏

$message='[tag] [tag]';
preg_match('/\[tag]\b/i',$message);
Run Code Online (Sandbox Code Playgroud)

例如,此消息字符串的计数应该导致2个匹配

Art*_*cto 25

$message='[tag] [tag]';
echo preg_match_all('/\\[tag\\](?>\\s|$)/i', $message, $matches);
Run Code Online (Sandbox Code Playgroud)

2.注意你不能使用,\b因为单词边界是在之前],而不是之后.

请参阅preg_match_all.

  • 可以使用`\ b`*,它只会影响匹配的内容(即`[tag]`需要后跟一个单词字符). (2认同)

web*_*ave 11

preg_match已经返回模式匹配的次数.

但是,这只会是0或1,因为它在第一场比赛后停止.您可以使用preg_match_all,因为它将检查整个字符串并返回匹配的总数.