Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在字符串中查找相似的单词_Php_Regex - Fatal编程技术网

Php 在字符串中查找相似的单词

Php 在字符串中查找相似的单词,php,regex,Php,Regex,我试图从字符串中提取类似的单词。假设我有一组5个关键字 猫、狗、动物、食物、水 我有一根这样的绳子 “猫是动物,但和狗不同。它们的食物不一样。但它们都喝水。” 如果我尝试在这种情况下使用strpos,我可能会发现只有一个类似的词“水”,但事实上还有其他词。如何帮助我检测上述句子中的所有关键字?您可能存在区分大小写的问题。尝试使用stripos()。这也可能是一个多元化或收缩的问题,在这种情况下,可能会使这更容易。对于使用正则表达式- 这可能会减少缩略语和边界标点等等。 如果检测相似性,则需要更精

我试图从字符串中提取类似的单词。假设我有一组5个关键字

猫、狗、动物、食物、水

我有一根这样的绳子

“猫是动物,但和狗不同。它们的食物不一样。但它们都喝水。”


如果我尝试在这种情况下使用strpos,我可能会发现只有一个类似的词“水”,但事实上还有其他词。如何帮助我检测上述句子中的所有关键字?

您可能存在区分大小写的问题。尝试使用
stripos()
。这也可能是一个多元化或收缩的问题,在这种情况下,可能会使这更容易。

对于使用正则表达式-
这可能会减少缩略语和边界标点等等。
如果检测相似性,则需要更精细的技术
到角色级别


(?i)(?您的预期输出是什么?您能展示您尝试的代码吗?您能粘贴您现有的代码吗?如果看不到您是如何尝试实现这一点的,很难看出您的问题是什么。这可能是不区分大小写的问题,或者可能是传递给
strops()的参数的问题。
 (?i)
 (?<! \S )
 (?:
      cat
      (?: '?s )?
   |  dog
      (?: '?s )?
   |  animal
      (?: '?s )?
   |  food
   |  water
 )
 (?:
      (?= \p{P} )
   |  (?! \S )
 )