首页 > 解决方案 > 从消息字符串中删除提及代码

问题描述

目前我正在使用discord.jsmarkov来制作一个机器人,该机器人在我的消息中进行训练,然后在提到时使用我训练过的数据进行回复。问题是,我正在用消息播种马尔可夫链,但是当消息提到嵌入时,机器人很快就会变得疯狂并潜入提及炸弹。

任何提及的基本格式是:都以 开头<@,后跟或不!跟,然后跟一个 18 位唯一 ID,并以 . 结尾>。所以<@!372507467289985025>并且<@372507467289985025>是 discord.js 产生的有效提及

我的问题是如何从节点中的消息字符串中删除此类提及?我知道它需要使用通配符/正则表达式,但我找不到匹配所有变体的正确模式。

标签: javascriptregexstring

解决方案


我不知道你是否还在寻找答案,但如果你这样做:

let mention = /<@(.*?)>/;

这将匹配所有内容,包括 <@ 和 > 之间的内容。您可以在https://regexr.com/上测试正则表达式是否匹配


推荐阅读