我是新手,所以请耐心等待我,但是我试图制定一个规则,使用分类.cfg中的arbtt v0.7在Firefox标签页上分配我的时间:
-- Firefox
current window ($program == "Navigator") ==>
if $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ then tag Email:$2-$1 else
if $title =~ /^(.*) - Calendar - Mozilla Firefox$/ then tag Calendar:$1 else
if $title =~ /^(.*) - Mozilla Firefox$/ then tag Firefox:$1 else
tag Firefox,
但我明白了:
Parser错误:" /home/rich/.arbtt/categorize.cfg" (第29行,第3栏): 意外的"我"期待"否则"
我还尝试了另一种更成功的方法:
current window ( $program == "Navigator" && $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ )
==> tag Email:$2-$1,
current window ( $program == "Navigator" && $title =~ /^(.*) - Calendar - Mozilla Firefox$/ )
==> tag Calendar:$1,
current window ( $program == "Navigator" && $title =~ /^((?!.*\b(Calendar|Mail)\b)) - Mozilla Firefox$/ )
==> tag Firefox:$1,
但最后一句并没有返回任何结果;前两个条款。
干杯, 富
答案 0 :(得分:1)
它看起来像arbtt
中的错误;我同意您的代码看起来是正确的。
但无论如何,使用;
运算符可能更惯用,这意味着“尝试第一件事,如果没有分配标签,请尝试第二件事”:
current window ($program == "Navigator") ==>
{ $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ ==> tag Email:$2-$1;;
$title =~ /^(.*) - Calendar - Mozilla Firefox$/ ==> tag Calendar:$1;
$title =~ /^(.*) - Mozilla Firefox$/ ==> tag Firefox:$1;
tag Firefox },
(;;
是因为解析器中的另一个错误 - 猜测该部分还没有被大量使用过。)
在你的第二次尝试中,正则表达式只是一个问题:它应该是/^(?!.*\b(Calendar|Mail)\b)(.*) - Mozilla Firefox$/
- (?!...)
是零宽度模式。