Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Python文档字符串+;Neo4J cypher查询似乎导致regexp错误_Python_Neo4j_Cypher - Fatal编程技术网

Python文档字符串+;Neo4J cypher查询似乎导致regexp错误

Python文档字符串+;Neo4J cypher查询似乎导致regexp错误,python,neo4j,cypher,Python,Neo4j,Cypher,我有这样一个密码片段: where my_node.my_column =~ ("(?i).*\\." + {my_var}) where my_node.my_column =~ ("(?i).*\\\\." + {my_var}) 其思想是匹配类似字符串的路径。例如,my_列的值可以是db.schema.my_TABLE,我想在Python-cypher语句中传递“my_TABLE”。这应该匹配 然而,我得到了一个密码错误的声明;具体来说,它不喜欢regexp中的最后一个“.”。就好

我有这样一个密码片段:

where my_node.my_column =~ ("(?i).*\\." + {my_var}) 
where my_node.my_column =~ ("(?i).*\\\\." + {my_var}) 
其思想是匹配类似字符串的路径。例如,
my_列
的值可以是
db.schema.my_TABLE
,我想在Python-cypher语句中传递“my_TABLE”。这应该匹配

然而,我得到了一个密码错误的声明;具体来说,它不喜欢regexp中的最后一个“.”。就好像我没有正确地逃避它。文件说Java regexp是在幕后使用的

现在我正在使用:

where my_node.my_column =~ ('(?i).*' + '.' + {table_name})
这似乎有效,但我不能诚实地说句点是否匹配任何字符或文字句点字符

如果重要的话,我的密码查询是在Python文档字符串中

我怎样才能逃过这段时间?有没有更好的方法来表达我想要的内容?

在Python中,反斜杠(\)字符用于开始转义序列。特别是,“\\”是反斜杠字符本身的转义序列

因此,为了生成包含两个相邻反斜杠字符的字符串文字,实际上需要在代码中使用4个相邻反斜杠字符。例如,您的Python代码段应如下所示:

where my_node.my_column =~ ("(?i).*\\." + {my_var}) 
where my_node.my_column =~ ("(?i).*\\\\." + {my_var}) 

您使用的是什么版本的Neo4j?我无法复制密码。这对我很有用:
MATCH(a:Schema),其中a.my\u column=~(“(?i.*\\”+“my\u TABlE”)返回一个
你能分享更多显示你如何执行查询的代码吗?不转义
它将匹配任何characters@WilliamLyon从Neo4J网络控制台上看,它也适用于我。因此,我认为它与我的Python文档字符串有某种联系。代码现在已经被撕碎了,我必须制作一个例子。