这是一份 Proxomitron 的所有特殊字符的简明列表。参见匹配规则可获得更多详细解释。
匹配元字符
* | 匹配包含连续任意字符的字符串 |
? | 匹配单个任意字符 |
[abc] | 匹配方括号内的任意单个字符 |
[^a-z] | 匹配不在方括号内的任意单个字符 |
[#x:y] | 数字区间匹配,支持负数 |
" " | (一个空格) 匹配并消耗任何形式的空格 |
\s | 匹配只包含空格的字符串 |
\w | 匹配除了 ">" 以外的任意非空白字符组成的字符串 |
\t | 匹配单个制表符 (Tab) |
\r | 匹配单个返回符 |
\n | 匹配单个新行符 |
\0-9 | 将匹配放入位置变量中 - 除非是在括号后面 "( ... )\1",否则与 "*" 工作方式相同 |
\# | 将匹配放入替换堆栈 |
& | AND 函数 |
&& | 双AND函数 (和 AND 一样,但是限制范围) |
| | OR 函数 |
(^...) | NOT 函数. |
(...) | 子表达式组合。Negate with "(^ ... )" |
+ | 贪婪匹配 |
++ | 匹配至后面的表达式成功匹配 |
+{5} | + 或 ++ 只重复匹配5次 |
+{2,7} | + 或 ++ 只重复匹配2~7次 |
+{3,*} | + 或 ++ 只重复匹配3次或3次以上 |
\ | 编码任意元字符 |
= | 神奇等号 - 同时匹配它前后的空格 |
" | 神奇引号 - 匹配单引号或双引号 |
' | 智能结束引号 - 用来处理嵌套引号 |
<start> | 在页面的开始插入 |
<end> | 在页面的底部插入 |
特殊匹配命令
(m=匹配值 r=替换文本 b=布尔值)
$ADDLST(ListName, r) | 将条目加入过滤名单 |
$ADDLSTBOX(ListName, [title,] r) | 弹出提示窗口询问是否加入过滤名单 |
$ALERT(r) | 显示弹出消息 |
$ASK(List, List, prompt, r [,r]) | 询问是否应该过滤 |
$AV(m) | 匹配属性值 |
$AVQ(m) | 匹配包含括号的属性值 |
$CON(x,y,[z]) | 检测当前连接数 |
$CONFIRM(r) | 弹出 Yes/No 的消息窗口 |
$DTM(fmt) | 插入当前日期,时间或连接数 |
$ESC(r) | 编码字符串内的特殊字符 (与 $UESC 相反) |
$FILE(filename) | 在替换部分插入文件内容 |
$FILTER(b) | 强制是否过滤 |
$GET(var) | 返回一个全局变量 |
$IHDR(header: m) | 匹配 in header |
$INEST(start,[m],end) | 和 nest 一样,但假定开始标签已被匹配 |
$JUMP(url) | 重定向 URL (非透明) |
$KEYCHK(keycodes) | 检测用户按键 |
$LOCK() | 锁定过滤 |
$LOG(r) | 将文本加入消息窗口 |
$LST(listname) | 在任何匹配表达式里包含一个过滤名单 |
$NEST(start,[m],end) | 找到正确的嵌套标签 |
$OHDR(header: m) | 匹配 out header |
$RDIR(url) | 重定向 URL (透明) |
$RESP(m) | 匹配服务器返回的状态码 |
$SET(0=r) | 设置位置变量 (\0-9 或 \#) |
$SET(var=r) | 设置全局变量 |
$SETPROXY | 为连接使用特定代理 |
$STOP() | 为文件剩下的部分关闭该过滤规则 |
$TST(var=m) | 检测位置变量或全局变量的值 |
$TST(var) | 将当前文本与变量进行比较 |
$TYPE(type value) | 检测正在处理的文件类型 |
$UESC(r) | 解码 "%xx" 形式的 hex 码 |
$UNLOCK() | 解锁一个已锁定的过滤 (可选) |
$URL(m) | 匹配 URL |
$USEPROXY(b) | 为该连接启用或关闭远程代理 |
$WESC(r) | 编码任何通配符 |
替换文本编码
\0-9 | 插入位置变量的值 |
\# | 按顺序插入替换堆栈的下一个条目 |
\@ | 一次性插入替换堆栈的全部内容 |
\\ | 插入一个反斜杠 |
\a | 插入 URL 里的任何锚文本 ("#" 后面的部分) |
\d | 以 "file://" 的 URL 形式插入 Proxomitron 的目录路径 |
\h | 插入 URL 的主机名 |
\k | 强制中断当前连接 |
\p | 插入 URL 的路径 |
\q | 插入 URL 的请求字符串 ("?" 后面的部分) |
\u | 插入当前网页的完整 URL |
\x | 插入 URL 命令前缀 |
