2016-06-06 6 views
0

Ich möchte eine Abfrage schreiben, um die Anzahl der Entity zu zählen. Die Entität hat einen Schlüssel für mich. Es sieht aus wie 12345CHINA Meine Frage istregex in cypher Neo4j

match(n:Name) 
where n.key='/^[0-9]{1,10}CHINA$/' 
return count(n) 

Und es funktioniert nicht, gibt mir 0 Zeilen.

Wie schreibe ich einen richtigen? Vielen Dank im Voraus.

Antwort

2

Nach dem Gleichheitszeichen wird keine Tilde eingefügt. Die Schrägstriche sind nicht erforderlich:

match(n:Name) 
    where n.key =~ '^[0-9]{1,10}CHINA$' 
return count(n) 

[http://neo4j.com/docs/developer-manual/current/#query-where-regex]

+1

Cypher gilt immer eine regexp auf den * gesamten * -Wert. Daher sind '^' und '$' überflüssig und können weggelassen werden, ohne die Ergebnisse zu ändern. – cybersam