我有一个preg匹配语句,它检查匹配,但我想知道如何计算匹配。任何建议表示赞赏。
$message='[tag] [tag]';
preg_match('/\[tag]\b/i',$message);
例如,此消息字符串的计数应该导致2个匹配
答案 0 :(得分:23)
$message='[tag] [tag]';
echo preg_match_all('/\\[tag\\](?>\\s|$)/i', $message, $matches);
给出2
。请注意,您无法使用\b
,因为字边界位于]
之前,而不是之后。
请参阅preg_match_all。
答案 1 :(得分:9)
preg_match已经返回模式匹配的次数。
然而,这只会是0或1,因为它在第一场比赛后停止。您可以使用preg_match_all,因为它会检查整个字符串并返回匹配的总数。
答案 2 :(得分:4)
如果要匹配所有匹配项,则应使用preg_match_all
。 preg_match_all
返回匹配数。 preg_match
仅返回0或1,因为它只匹配一次。
答案 3 :(得分:3)
我认为你需要preg_match_all。它返回它找到的匹配数。 preg_match在第一个之后停止。
答案 4 :(得分:0)
您可以将T-Regx library与function extractFunction(){
video.addEventListener('timeupdate', function() {
if (video.currentTime >= endTime) {
this.pause;
}
}, false);
video.load();
video.play();
try {
video.currentTime = starttime;
ctx.drawImage($this, 0, 0);
setTimeout(loop, 1000 / 30); // drawing at 30fps
} catch (ex) {
}
}
方法(甚至自动定界符)一起使用:
count()