元字符简明手册
Previous Back to contents Next

这是一份 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 命令前缀


返回目录