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

FZF

实现

FuzzyMatchV2搜索

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

ExactMatch幼稚

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

搜索匹配

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

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

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

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

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

hell

模糊匹配

匹配的项目hello

'stuff

精确匹配

包括stuff

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

hell

模糊匹配

匹配的项目hello

'stuff

精确匹配

包括stuff

例子

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