礼貌发问,webUI的自定义关键词有一个触发限制框,想用来实现在句子含有A词时回复,但是作为AB时不回复,请问可以实现吗?要用什么方法实现呢?(比如句子含有零时回复,而零件/零碎这样的词就不回复)如果不可以的话,请问触发限制可以用来做什么?
【求助】关于自定义回复的触发限制
- 最佳回复由 yuuuko 选择
终于轮到我来装逼了!这两天刚好趁着公司几近全灭的情况疯狂摸鱼,就在研究正则玩。
试试这个
^(?!.(零件|零碎)).零.*$
其中表示句子的开头,$表示句子结尾;(?! )表示预先排除项,.表示除换行符外任何单个字符,表示匹配前面表达式0次或多次。
.(零件|零碎)用来实现想要排除的词,当然,要放进(?!)里。可以自行添加,用|隔开。
只有当预先检测句子中没有要排除的词的时候,才会检测句子有无“零”字,如果有则符合条件。
当然,这可能也并不符合题主的要求,比如“眼见跑团的兄弟们一个个被新冠放倒,我那本想借跑团驱散孤单圣诞节的心,在一次孤零零碎在了角落。”这种句子就无法匹配。而且如果想要剔除的含零词汇越多,需要加的词也就越多。毕竟表达式无法判别哪两个中文字在一起可以组成词汇,这一点就没办法了
https://v2docs.kokona.tech/zh/latest/Master_Manual.html#reply
关于自定义回复的用法可以看看骰主手册的这一节
你想实现的效果我的理解是,需要一个类似安卓手机上“大爆炸”那样的智能分词功能,来判断句子里“零”是一个单字还是词组出现,否则就只能像楼上说的,把词组枚举出来,用正则去除。
句子智能分词这个事情也不一定不能实现,网上或许能找到相关的api或者开源项目,愿意折腾的话可以试试。