此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

SearchMatch是将文本图案匹配的界面。火柴 结果位于返回值中。比赛结果 包含有关比赛位置和比赛总比分的信息。SearchMatchResultSpring中文文档

实现

FuzzyMatchV2搜索Spring中文文档

fzf FuzzyMatchV2Search 算法的端口。做一个快速的模糊搜索,很好 快速找到路径。Spring中文文档

ExactMatch幼稚Spring中文文档

fzf ExactMatchNaive 算法的端口。简单的精确匹配工作更准确 如果您知道要搜索什么。Spring中文文档

搜索匹配

算法和默认语法隐藏在包保护类中 因为在我们知道 API 可以正常使用之前,我们不想完全打开它们 提供更长的支持。您需要通过其构建 内置构建器。SearchMatchSpring中文文档

SearchMatch searchMatch = SearchMatch.builder()
	.caseSensitive(false)
	.normalize(false)
	.forward(true)
	.build();

可以配置区分大小写,在什么方向上搜索 发生,或者是否应该在搜索发生之前对文本进行规范化。正常化 当不同的语言对同一类型有轻微的变化时,很方便 的字符。Spring中文文档

搜索算法是根据中所示的搜索语法选择的 下表。Spring中文文档

表 1.搜索语法
令 牌 匹配类型 描述

hellSpring中文文档

模糊匹配Spring中文文档

匹配的项目helloSpring中文文档

'stuffSpring中文文档

精确匹配Spring中文文档

包括stuffSpring中文文档

表 1.搜索语法
令 牌 匹配类型 描述

hellSpring中文文档

模糊匹配Spring中文文档

匹配的项目helloSpring中文文档

'stuffSpring中文文档

精确匹配Spring中文文档

包括stuffSpring中文文档

例子

SearchMatch searchMatch = SearchMatch.builder()
	.caseSensitive(false)
	.normalize(false)
	.forward(true)
	.build();

SearchMatchResult result = searchMatch.match("foo bar baz", "fbb");

result.getStart();
// 0 - start position inclusive
result.getEnd();
// 9 - end position exclusive
result.getPositions();
// 0,4,8 - positions, inclusive
result.getScore();
// 112 - score
result.getAlgorithm();
// FuzzyMatchV2SearchMatchAlgorithm - resolved algo