javascript - 从消息字符串中删除提及代码
问题描述
目前我正在使用discord.js和markov来制作一个机器人,该机器人在我的消息中进行训练,然后在提到时使用我训练过的数据进行回复。问题是,我正在用消息播种马尔可夫链,但是当消息提到嵌入时,机器人很快就会变得疯狂并潜入提及炸弹。
任何提及的基本格式是:都以 开头<@
,后跟或不!
跟,然后跟一个 18 位唯一 ID,并以 . 结尾>
。所以<@!372507467289985025>
并且<@372507467289985025>
是 discord.js 产生的有效提及。
我的问题是如何从节点中的消息字符串中删除此类提及?我知道它需要使用通配符/正则表达式,但我找不到匹配所有变体的正确模式。
解决方案
我不知道你是否还在寻找答案,但如果你这样做:
let mention = /<@(.*?)>/;
这将匹配所有内容,包括 <@ 和 > 之间的内容。您可以在https://regexr.com/上测试正则表达式是否匹配
推荐阅读
- python - 如何获取 PySpark 数据框中最后 5 行的平均值
- python - 使用多边形网格的 UV 瓦片
- python-3.x - request.get_json() 返回 400 错误请求
- python - 如何直接使用在另一个python代码中读取多个输入的python代码?
- download - 如何在 Flutter 网页上编码和下载 png
- torch - torchtext - 内容处置错误 - download_from_url
- reactjs - 在 React Table 中,如何使用 state 分别更新每一行中的下拉值
- server - 监控通过Linux服务器中端口的请求数
- android - 如何更改 DatePicker 的字体系列或大小 - React Native
- java - 每个 Intellij maven 模块的自定义 Maven 设置/构建位置