2017-02-21 13 views
0

私は 「+」で始まる文字列を照会するために私のNeo4jのバージョンを、正規表現を使用したいが、ここで2.3.8のNeo4j正規表現の誤り

である私のクエリです:

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を使用しています。

関連する問題