$queryString = "MATCH (n.Keywords) WHERE n.kw =~".$temp." RETURN n";
$query = new Everyman\Neo4j\Cypher\Query($client, $queryString);
$relativePosts = $query->getResultSet();
我们正在尝试完成一个查询,搜索具有属性kw的所有关键字,这些关键字包含单词(Halo,Mustang ...),它将这些值与我们已经设置的字符串变量相匹配。我们的示例字符串变量是" Halo看起来很棒"。
最后我们试图比较Mustang,Halo,Mario ..和#34; Halo看起来很棒"并在匹配时返回Halo。是否可以使用带有node属性值的正则表达式来比较字符串? 谢谢!
答案 0 :(得分:0)
请使用参数而不是字符串连接!
MATCH(n.Keywords)WHERE n.kw =〜{regexp} RETURN n
$ params = array(“regexp”=> $ temp)
您可以在节点属性中存储正则表达式字符串,并根据字符串值检查它们,反之亦然。
目前尚不清楚你正在寻找什么样的正则表达式。
一般情况下,如果您查找多个单词,则会使用类似(Halo|Mustang)
的内容。