php - 用于搜索文本中的单词而不是字符串的一部分的正则表达式 (preg_match_all)

标签 php regex preg-match-all

希望有人能帮我解决这个问题。

我正在寻找的是在字符串中搜索单词

$text = 'is Apple, name testintapple test APPLE name test';
preg_match_all('/apple/i', $text, $output_array);

返回

array(
0   =>  Apple
1   =>  apple
2   =>  APPLE
)

我希望它返回:

array(
0   =>  Apple
1   =>  APPLE
)

最佳答案

您需要的是:

preg_match_all('/\bapple\b/i', $text, $output_array);

\b 是字边界。因此,仅当 apple 用作单词而不是较大字符串的一部分时,它才会匹配。

关于php - 用于搜索文本中的单词而不是字符串的一部分的正则表达式 (preg_match_all),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68533635/

相关文章:

php - 试图获取非对象的属性

regex - 如何在 Linux 中将正则表达式传递给 find 命令?

javascript - 如何替换 javascript 字符串中的前三个连字符?

php - 2 个字符串之间的正则表达式匹配

php - 抓取 PHP 文件中特定标签之间的文本

PHP从网站爬取数据

php - 重置 PDO 结果中的数组指针

regex - 将大写转换为标题大小写

php - 如何使用php获取字符串中以 '#'开头的单词?

php - 如何将 mysql UPDATE 限制为仅在 for 循环中处理的行?