北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4768|回复: 2

请教触发语句中排除匹配的问题(zmud,cmud)

[复制链接]
发表于 2014-10-27 16:25:09 | 显示全部楼层 |阅读模式
本帖最后由 kanluohua 于 2014-10-27 08:43 AM 编辑

pattern:{闲聊|北大|谣言}
command:#cap chat;#gag

一般上述语句会正常执行。但假设还有中情况北大侠客行,要排除这种情况应该怎么匹配语句?
{^string} do not match the specified string

这个是cmud的help文档。正则中貌似有个[^xxx]。看说明这两个都是进行排除匹配的。但没研究明白语句应该怎么写- -
{闲聊|北大|谣言|^北大侠客行}行不通,#sh 北大侠客行的时候还是会执行触发指令。改成{闲聊|北大|谣言|{^北大侠客行}}会导致#sh闲聊之类的也不触发……

请大家指教怎么进行排除触发,能用zmud或cmud本身语法实现最好;如果不能,正则表达式我了解一点基础,通过正则表达式能够实现也成……

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2014-10-27 22:09:04 | 显示全部楼层
回复 1# kanluohua

^(?!你)(\S{4,12})$
这样就是匹配set brief 1 下房间名称。把你正忙等等去除。
前提是房间名称小于6个字...
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2014-10-28 09:08:39 | 显示全部楼层
回复 2# oolong


    谢谢。有点理解,貌似思路是正则限制长度。但还是有困惑却又表达不清楚,等我再学习一段时间再说吧。主要是总感觉那个[range]的匹配有点诡异问题。。。。比如[abc]按我原先理解是匹配a,b,c,ab,cb,abc等任意数量[]范围内字符的排列组合,但实际测试发现类似ax,xay,ybz之类的也会引起触发……貌似现在应该把[abc]理解成“匹配包含任意个[]内字符的语句”……反正到现在还是绕得有点迷糊- -
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 05:40 AM , Processed in 0.009468 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表