diff --git a/src/main/java/org/wltea/analyzer/core/LexemePath.java b/src/main/java/org/wltea/analyzer/core/LexemePath.java index 91a6c288..d9bc90db 100644 --- a/src/main/java/org/wltea/analyzer/core/LexemePath.java +++ b/src/main/java/org/wltea/analyzer/core/LexemePath.java @@ -122,8 +122,10 @@ Lexeme removeTail(){ * @return */ boolean checkCross(Lexeme lexeme){ - return (lexeme.getBegin() >= this.pathBegin && lexeme.getBegin() < this.pathEnd) - || (this.pathBegin >= lexeme.getBegin() && this.pathBegin < lexeme.getBegin()+ lexeme.getLength()); + int start = this.pathBegin < lexeme.getBegin() ? this.pathBegin : lexeme.getBegin(); + int end = this.pathEnd > (lexeme.getBegin() + lexeme.getLength()) ? this.pathEnd : (lexeme.getBegin() + lexeme.getLength()); + + return (end - start) < (this.getPathLength() + lexeme.getLength()); } int getPathBegin() {