搜索功能
v2.0.3+
简易搜索规则:
- 忽略空格和大小写,模糊搜索,只匹配标题
##
双井号开头,搜索除第一个#
号以外的内容#12
单个井号加数字,跳转到对应序号的服务器(WebUI暂时不支持)
示例:
a B C 1
搜索标题包含abc1
字符的服务器##123
搜索标题包含#123
字符的服务器#123
跳转到序号为123的服务器#
,#0
因为#
后面的序号不存在,所以跳转到最后一个服务器
高级搜索格式:
#<标签名> [not] <操作符> <参数1> <参数2> ...
- not为可选参数,表示对后面的条件取反
- 参数中用到后面“组合搜索”的符号
&|!()
时需要添加双引号
文本型标签名 | 说明 |
---|---|
name | 服务器名字 |
summary | 服务器摘要(协议@地址) |
title | 服务器标题(序号+名字+摘要) |
mark | 标记 |
remark | 备注 |
tag1-3 | 标签1-3 |
core | 自定义core名 |
selected | 是否已选中,内容是字符串 true 或者 false |
文本型操作符 | 说明 |
---|---|
is | 完全相同 |
has | 包含 |
like | 模糊匹配(默认操作符) |
starts | 匹配开头 |
ends | 匹配结尾 |
match | 使用c#正则表达式匹配(区分大小写) |
注:除了match
以外,其他操作符都忽略大小写。match
可以添加(?i)
忽略大小写。
示例:
#mark is a B C
搜索“标记”是“abc”的服务器。文本类型的参数会合并起来。#mark abc
搜索“mark”中出现“abc”三个字母的服务器。文本类型默认操作符是“like”。#mk has abc
因为“mk”可以匹配“mark”和“remark”两个标签名,他们任意一个包含“abc”都会搜到。#sel not f
搜索已勾选的服务器。相当于#selected not like false
。#name is ""
搜索“名称”为空白的服务器。#name has " "
搜索“名称”中包含空格的服务器。#name has """
搜索“名称”中包含引号的服务器。#smm match "(?i)\.net$"
搜索“摘要”以“.net”结尾的服务器,忽略大小写。
数字型标签名 | 说明 |
---|---|
index | 序号 |
latency | 测速延迟(ms),没测速的是-1,超时是个很大很大的数 |
upload | 上传量(MiB) |
download | 下载量(MiB) |
port | inbound端口号 |
modify | 修改日期,格式:240230,年份可以省略 |
数字型操作符 | 说明 | 参数个数 |
---|---|---|
= | 相等(默认操作符) | 1 |
< | 仅小于 | 1 |
> | 仅大于 | 1 |
~ | 数值范围包括首尾 | 2 |
示例:
#idx 3
序号为3的服务器。因为默认操作符是=
,所以相当于#index = 3
#idx not > 10
搜索序号小于等于10的服务器。#latency > 100 300
搜索测速结果大于(不包括)100ms的服务器。后面多余的参数300被忽略掉。#latency ~ 1 1000
搜索测速结果在[1ms, 1000ms]之间的服务器。#latency ~ 123
参数个数不足搜索失败。#modify = 0230
搜索二月三十日导入的服务器。#index
参数个数不足搜索失败。
组合搜索:
#<高级搜索1> <组合操作符> #<高级搜索2> <组合操作符> #<高级搜索3> ...
- 默认从左向右组合,可以添加
()
括号调整组合顺序
组合操作符 | 说明 | 左边 | 右边 | 结果 |
---|---|---|---|---|
& | 交集 | [a, b] | [b, c] | [b] |
| | 并集 | [a, b] | [b, c] | [a, b, c] |
! | 补集 | [a, b] | [b, c] | [a] |
示例:
(#idx < 3) | (#idx ~ 6 7
缺失的括号会自动在头尾补全。搜索结果序号:[1, 2, 6, 7]#smm starts trojan & #name is ""
搜索trojan协议并且名字是空白的服务器。#smm has .ws & (#idx < 10 ! #idx = 5)
搜索除5号外前9个服务器中使用ws协议的服务器
辅助过滤器
下面的过滤器只可以和&
组合操作符一起使用,这时候&
操作符可以理解为linux里面的管道
排序过滤器:#orderby [-]<标签名1> [-]<标签名2> ...
- 标签名可以是“文本型标签名”或者“数字型标签名”
- 默认升序排列,标签名前面添加
-
(减号)表示降序排列 - 排序是个耗时的操作,建议放最后
截取过滤器:#take <截取数量> <跳过数量>
- “截取数量”需要大于零
- “跳过数量”可以省略
示例:
#ord -idx
按序号降序排列#idx ~ 1 30 & #ord smm -lat
对前30个服务器先按摘要升序排列,摘要相同时再按延迟降序排列#idx ~ 1 30 & #ord zzz
不存在zzz
这个标签名,结果为空#idx > 5 & #take 3
搜索结果:[6, 7, 8]#idx < 20 & #ord -idx & #take 3 3
搜索结果:[16, 15, 14]#idx < 20 & #take 3 3 & #ord -idx
搜索结果:[6, 5, 4]
#idx ~ 22 25 | #take 2
我也不知道和&
以外的组合操作符放一起会发生什么
快捷键
Ctrl + F
进入搜索框Esc
离开搜索框