private SearchResult continueSearch(char[] text, SearchResult lastResult) {
		TrieNode last = lastResult.getLastMatchedNode();
		for (int i = lastResult.getLastIndex(); i < text.length; i++) {
			char ch = text[i];
			// 包含忽略字符
			if (skipChars.contains(ch)) {
				continue;
			}

			// 如果当前匹配的字符在trie树中无子节点且不是根节点
			// 则要通过失败指针去找它的当前节点的子节点
			while (null != last && last.get(ch) == null) {
				if (last == this.root) {
					break;
				}
				last = last.getFail();
			}
			last = last.get(ch);
			if (null == last) {
				last = this.root;
			}
			if (!last.getResults().isEmpty()) {
				return new SearchResult(i + 1, last);
			}
		}
		return null;
	}