【发布时间】:2023-04-10 05:50:02
【问题描述】:
我有以下功能来做一个"exact match" 的模式($searchPat)
造句($sourceStr)
function isUsed($sourceStr, $searchPat) {
if (strpos($sourceStr, $searchPat) !== false) {
return true;
} else {
return false;
}
}
但是,这并不完全匹配。我将函数更改如下,但这甚至没有执行。
function isUsed($sourceStr, $searchPat) {
if (preg_match("~\b[$sourceStr]\b~", $searchPat)) {
return true;
} else {
return false;
}
}
请问如何进行精确匹配?
【问题讨论】:
-
取出
[],那些列表允许的字符。$sourceStr是要搜索的句子还是要查找的词? -
你好克里斯 - 谢谢。你的理解是正确的。
$sourceStr是要搜索的句子,$searchPat是要搜索的项目。 -
你也可以使用stripos()。
-
你好 Devashish - 谢谢。正如我在他的问题中提到的那样,
strpos并没有完全匹配。你能帮我修改一下代码吗? -
stripos会返回误报。例如,如果搜索bee,则单词been将匹配。
标签: php regex preg-match