在Neo4j不区分大小写的正则表达式搜索中某些特殊字符的情况似乎不匹配

时间:2015-03-04 14:58:50

标签: neo4j

对于不区分大小写的正则表达式搜索,ü和Ü或ł和Ł等字符在Neo4j中被视为完全独立的字符。

以下Cypher应该返回一个节点,但它不会:

CREATE (t:Thing { name: "Łomza Überbrew" })
MATCH (t:Thing) WHERE t.name=~'(?i)łomza überbrew' RETURN t

预计Neo4j会出现这种情况吗?使用Neo4j Enterprise-2.1.2

由于

1 个答案:

答案 0 :(得分:3)

您需要使用不区分大小写的unicode正则表达式,而不仅仅是不区分大小写,只适用于ascii字符。而不是(?i)使用(?ui)

CREATE (t:Thing { name: "Łomza Überbrew" })
MATCH (t:Thing) WHERE t.name=~'(?ui)łomza überbrew' RETURN t