정규식은 아주 간단합니다 내장 :전체 단어 정규식
WHERE t.name =~ "(?i).*\\baaaaaaaa\\b.*"
이것은 Neo4j 서버 웹 콘솔에서 작동합니다. 예상 된 결과가 나타납니다.
자바를 통해 REST 인터페이스를 사용할 때 정규식을 "(?i).*\\\baaaaaaaa\\\b.*"
(백 슬래시를 추가)으로 변경해야했습니다. 나는 이유를 이해하지 못하지만 작동합니다 (다시 예상되는 결과가 반환됩니다).
같은 정규식
임베디드 Neo4j 작동하지 않습니다 : 오류 로그에 표시되지 않습니다 (적어도 IntelliJ를 콘솔에)Caused by: Invalid input '': expected '\', ''', '"', 'b', 'f', 'n', 'r', 't' or Unicode (line 1, column 64)
MATCH ... WHERE t.name =~ "(?i)\ aaaaaaaa\ " ...
^
주 \b
있다.
임베디드 및 서버 데이터베이스 모두에서 "(?i).*\\baaaaaaaa\\b.*"
이 올바르게 구문 분석됩니다 (적어도 예외는 발생하지 않음). 그러나 결과는 반환되지 않습니다.
중요 고려 사항 :
- Neo4j 2.0
- 내가 3의 경우 매개 변수를 사용하는
제작중인 코드의 정확한 호출은 무엇입니까? 컨텍스트를 좀 더 제공 할 수 있습니까? – BtySgtMajor