PHP使用preg_match_all搜索和计算特定单词

PHP使用preg_match_all搜索和计算特定单词,php,regex,Php,Regex,我想在php正则表达式方面寻求帮助。 我有以下代码: $search = preg_match_all("/$pattern+/", $file, $matches); 例如,$pattern将是car和字符串,用于搜索car acar cara 输出应该是3 1=car,2=caracar,但我的输出是4 我不想计算像acar这样前缀的单词,但它会计算带有后缀caracar的模式 谢谢你的建议 我希望它不难理解,并为糟糕的英语感到抱歉您可以在preg_quote中使用单词边界: 谢谢您的快速

我想在php正则表达式方面寻求帮助。 我有以下代码:

$search = preg_match_all("/$pattern+/", $file, $matches);
例如,$pattern将是car和字符串,用于搜索car acar cara 输出应该是3 1=car,2=caracar,但我的输出是4

我不想计算像acar这样前缀的单词,但它会计算带有后缀caracar的模式

谢谢你的建议
我希望它不难理解,并为糟糕的英语感到抱歉

您可以在preg_quote中使用单词边界:


谢谢您的快速回复,但前缀部分不起作用:/lay to know,您可以点击我答案左上角的勾号将答案标记为已接受吗。
if ( preg_match_all("/\b" . preg_quote($pattern) . "/", $file, $matches) ) {
    print_r($matches); // or echo count($matches);
}