簡單點說就是通過幾個特殊的符號來代表具有某些***同之處的壹類信息。只被用於Pattern。
zmud提供的字符號串匹配有:
* 通配任何數字、字符或空白
%d 通配任何數字(0-9)
? 通配任何單個字符
%s 通配任何空白(spaces,tabs)
%w 通配任何字母(a-z)
%a 通配任何數字和字母(等於%d+%w)
%n 通配任何以+或-開頭的數字
%x 通配任何非空白
%p 通配壹個方向
[range] 通配任何在range範圍內的字符
^ 表示壹行的開頭,想要妳的trigger在壹行的開頭才有效,就在最前面加上這個
$ 表示壹行的結尾。
(pattern)將括號裏面的內容依次存放在參數%1~%99裏
{val1|val2|val3|……} 通配val1,val2或者val3
還有壹個特殊字符就是~,用在特殊字符前面。因為有些特殊字符被zmud理解為其他意思了,所以為了通配這些特殊字符,前面要加~
比如~{通配{ ~?通配? ~~通配~
在命令行輸入#say %def,默認顯示為#;@!%.:~>&,再加上括號{}()[],這些都是有特殊含義的特殊字符了,要匹配這些字符,前面都要加上~
&variable和@variable直接用在trigger的Pattern裏面
#tri {胡壹刀說道:『我收到消息,聽說&hydaddress有盜寶人&dbrname~(&dbr~)找到了闖王寶藏的地圖} {}
#tri {妳有種去&hydaddress找我兄弟&dbrname~(&dbr~),他會給我} {}
#alias ddd {act hydjob 地點=@hydaddress,name=@dbrname,id=@dbr}
#tri {盜 寶 人*@dbrname~(@dbr~)} {follow @dbr;hit @dbr}
可以看到第壹個trigger和第二個trigger,只有Pattern,沒有任何Commands
沒錯,&hydaddress,&dbrname,&dbr被用來做通配了,通配之後被通配的內容已經自動保存到相應變量裏了,不需要任何賦值操作可以直接使用了。
命令行輸入ddd就可以在動作頻道發出信息讓大米a去尋找盜寶人了。
最後壹個trigger,@dbrname,@dbr也被用來做通配了,只有找到自己的盜寶人才會觸發跟隨攻擊命令。
這種方法又體現了zmud的靈活性,可以省去賦值,也可以省去判斷是否是自己的盜竊人
另外&和變量名中間可以再加入%d或者%w等特殊字符。比如&{%w}dbr用來表示僅僅通配字母,並且賦值給變量,不匹配的不會觸發並且不會賦值。