]*你得到了(.+)道行和(.+)点实战经验和(.+)点潜能!$", "" , bit.bor (trigger_flag.Enabl ... AddTriggerEx 函数有没有多行匹配参数? ,北大侠客行MUD论坛" />

wsrflove 发表于 2012-4-25 13:43:07

AddTriggerEx 函数有没有多行匹配参数?

本帖最后由 wsrflove 于 2012-4-25 05:46 AM 编辑

如下图。
function addbalancetrigger()
AddTriggerEx("killbalance", "^[> ]*你得到了(.+)道行和(.+)点实战经验和(.+)点潜能!$",""
    , bit.bor (trigger_flag.Enabled, trigger_flag.RegularExpression, trigger_flag.Temporary, trigger_flag.Replace, trigger_flag.OneShot)
    , custom_colour.NoChange, 0, "", "killer.balance", 0, 100)
SetTriggerOption("killbalance","group", "killtask")
end
因为描述发生变化。

^[> ]*你得到了(.*)点武学经验.$\n^[> ]*你得到了(.*)道行.$\n^[> ]*你得到了(.*)点潜能.$

这是个多行匹配的内容,如果用AddTriggerEx 添加怎么写呢?
我看tg里有个lines_to_match参数。
但是在AddTriggerEx 介绍中并没有这个。

北大侠客行MUD,中国最好的MUD

wsrflove 发表于 2012-4-25 14:12:42

楼上的兄弟能解释清楚点吗。新手。
照我的理解:是这么写吗?



如下图。
function addbalancetrigger()
AddTriggerEx("killbalance", “^[> ]*你得到了(.+)点武学经验.$\n^[> ]*你得到了(.+)道行.$\n^[> ]*你得到了(.+)点潜能.$
",""
    , bit.bor (trigger_flag.Enabled, trigger_flag.RegularExpression, trigger_flag.Temporary, trigger_flag.Replace, trigger_flag.OneShot)
    , custom_colour.NoChange, 0, "", "killer.balance", 0, 100)



SetTriggerOption("killbalance", "multi_line", "y")
SetTriggerOption("killbalance", "lines_to_match", 3)
SetTriggerOption("killbalance","group", "killtask")
end




seagate 发表于 2012-4-25 14:25:07

正则表达式本身就支持多行,不需要函数特地支持吧?

wsrflove 发表于 2012-4-25 14:53:01

可是我试了一下,直接写进去,无法匹配啊。

littleknife 发表于 2012-4-28 07:36:08

\n换成\\n
页: [1]
查看完整版本: AddTriggerEx 函数有没有多行匹配参数?