Neo4j Cypher RegExp忽略大小写查询不适用于非拉丁字符

ale*_*oid 5 neo4j cypher

有时我必须通过RegExp忽略大小写查询搜索节点,它不适用于非拉丁字符.

比如我有一个 node.name property = ?? ?????????? ??????

如果我搜索

name =~ (?i).*?? ?????????? ??????.*
Run Code Online (Sandbox Code Playgroud)

一切都很好

但是如果是的话

name =~ (?i).*?? ?????????? ??????.*
Run Code Online (Sandbox Code Playgroud)

它不搜索节点.

顺便说一句 - 在拉丁字符上一切正常.

我做错了什么以及如何解决?

Bru*_*res 3

您需要在正则表达式中添加“u”以将其转换为不区分大小写的 unicode 正则表达式。像这样:

\n\n
name =~ (?ui).*\xd0\x96\xd0\x9a \xd0\x9b\xd1\x8c\xd0\xb2\xd1\x96\xd0\xb2\xd1\x81\xd1\x8c\xd0\xba\xd0\xb8\xd0\xb9 \xd0\xbc\xd0\xb0\xd1\x94\xd1\x82\xd0\xbe\xd0\xba.*\n
Run Code Online (Sandbox Code Playgroud)\n