礼貌发问,webUI的自定义关键词有一个触发限制框,想用来实现在句子含有A词时回复,但是作为AB时不回复,请问可以实现吗?要用什么方法实现呢?(比如句子含有零时回复,而零件/零碎这样的词就不回复)如果不可以的话,请问触发限制可以用来做什么?

  • 简律纯 回复了此帖
  • 终于轮到我来装逼了!这两天刚好趁着公司几近全灭的情况疯狂摸鱼,就在研究正则玩。
    试试这个

    ^(?!.(零件|零碎)).零.*$

    其中表示句子的开头,$表示句子结尾;(?! )表示预先排除项,.表示除换行符外任何单个字符,表示匹配前面表达式0次或多次。
    .
    (零件|零碎)用来实现想要排除的词,当然,要放进(?!)里。可以自行添加,用|隔开。
    只有当预先检测句子中没有要排除的词的时候,才会检测句子有无“零”字,如果有则符合条件。

    当然,这可能也并不符合题主的要求,比如“眼见跑团的兄弟们一个个被新冠放倒,我那本想借跑团驱散孤单圣诞节的心,在一次孤零零碎在了角落。”这种句子就无法匹配。而且如果想要剔除的含零词汇越多,需要加的词也就越多。毕竟表达式无法判别哪两个中文字在一起可以组成词汇,这一点就没办法了

    终于轮到我来装逼了!这两天刚好趁着公司几近全灭的情况疯狂摸鱼,就在研究正则玩。
    试试这个

    ^(?!.(零件|零碎)).零.*$

    其中表示句子的开头,$表示句子结尾;(?! )表示预先排除项,.表示除换行符外任何单个字符,表示匹配前面表达式0次或多次。
    .
    (零件|零碎)用来实现想要排除的词,当然,要放进(?!)里。可以自行添加,用|隔开。
    只有当预先检测句子中没有要排除的词的时候,才会检测句子有无“零”字,如果有则符合条件。

    当然,这可能也并不符合题主的要求,比如“眼见跑团的兄弟们一个个被新冠放倒,我那本想借跑团驱散孤单圣诞节的心,在一次孤零零碎在了角落。”这种句子就无法匹配。而且如果想要剔除的含零词汇越多,需要加的词也就越多。毕竟表达式无法判别哪两个中文字在一起可以组成词汇,这一点就没办法了

      10 天 后

      萧摇风 对不起我又来问了TT不知道为什么把这个复制进触发限制那一栏里后一直无法保存……

        https://v2docs.kokona.tech/zh/latest/Master_Manual.html#reply
        关于自定义回复的用法可以看看骰主手册的这一节
        你想实现的效果我的理解是,需要一个类似安卓手机上“大爆炸”那样的智能分词功能,来判断句子里“零”是一个单字还是词组出现,否则就只能像楼上说的,把词组枚举出来,用正则去除。
        句子智能分词这个事情也不一定不能实现,网上或许能找到相关的api或者开源项目,愿意折腾的话可以试试。

          6 天 后

          yuuuko 是放进关键词里面……然后匹配模式选择正则。
          触发限制是用来放类似于冷却时间、限定群/QQ、每日上限之类的地方。手册里有

            萧摇风 我又来问了(对不起)在把这个式子放进关键词之后,不知道为什么发送单字零或者这里没有提到的带零的词组也不会回复了,请问是什么情况啊TT…systemload和触发形式改成指令都试过了没有用

              2 个月 后
              说点什么吧...