Shotnest

Shotnest · 资料库

把符号当作原样文本搜索

A+B 只能找到 Code A+B 这条记录,因为搜索按字面读取每个字符;点号或星号只匹配它本身,从不当作模式。

查询中没有模式语法

Shotnest 的搜索检查的是规范化后的查询是否出现在规范化后的记录中。+、.、* 和 ? 这样的符号会像字母一样比较。因此查询 A+B 需要这三个字符按这个顺序出现,Code A+B 有,Code AB 没有。

这和正则表达式搜索正好相反,在正则表达式中,点号表示任意字符,星号表示重复。加入第三条记录 Code A.B,查询 A.B 就只返回这一条。查询 A*B 则什么也找不到,因为没有任何记录包含星号。

比较之前仍会做规范化,所以符号周围字母的大小写和重音都会被折叠:a+b 和 Á+B 都能找到 Code A+B。只有符号本身会按输入的样子保留。

输入值

搜索截屏中的文字
A+B
行文本记录
1Code A+B
2Code AB

结果

匹配记录
1
行文本记录
1Code A+B

搜索带标点的代码

  1. 按屏幕上的样子,连同符号一起准确输入代码。
  2. 如果什么也没找到,就去掉符号,搜索它一侧的字母。
  3. 拷贝之前,核对返回记录中的确切标点。
  4. 在应用中,用空格分隔词:每个词都必须出现,顺序不限。
查询 AB
只有记录 2
加入 Code A.B 后查询 A.B
记录 3
查询 A*B
无匹配

让人意外的符号搜索

按字面匹配,就要按字面核对

因为什么都不做解释,找不到结果通常意味着字符不同。请看原始图片,确认屏幕上实际显示的是什么。

在应用中符号搜索失败时,详情视图的“文字”部分会准确显示识别到的内容,这是查看加号是否被读成其他字符的最快方法。