2017-02-21 36 views
0

我想用正則表達式查詢字符串開始與「+」 我Neo4j的版本是2.3.8Neo4j的正則表達式錯誤

這裏是我的查詢:

MATCH (n:phone_number) where n.name =~ "\+.*" RETURN n LIMIT 1 

但它失敗:

Invalid input '+': expected '\', ''', '"', 'b', 'f', 'n', 'r', 't',   '_', '%', UTF16 or UTF32 (line 1, column 42 (offset: 41)) 
"MATCH (n:phone_number) where n.name =~ "\+.*" RETURN n LIMIT 1" 

回答

0

這似乎是neo4j中的一個錯誤。此解決辦法應該工作:

MATCH (n:phone_number) 
WHERE n.name =~ "\\u002b.*" 
RETURN n LIMIT 1; 

它使用了Java unicode escape序列\u002b代表 「+」 字。