首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你怎么能查到这条消息?node.js

你怎么能查到这条消息?node.js
EN

Stack Overflow用户
提问于 2021-02-23 20:04:20
回答 1查看 180关注 0票数 0

我正在写信给机器人的电报,你怎么能让它无视这些信息呢?“经理”,“合同”,“通知”首先是某种表情,然后是文字。我试图通过regex来完成我正在使用的库node-telegram-bot-api

代码语言:javascript
运行
复制
bot.onText(/(.+)/, (msg, match) => {
  if ((/^([/^[a-zA-Z]*$/]*)$/.test(msg.text))) {
      return;
  }
)}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 20:26:02

您可以使用以下正则表达式过滤所有(或至少许多)遵循给定格式的表情符号和短语:

代码语言:javascript
运行
复制
if( /^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]) ([A-Za-z])\w+/.test(msg.text))) {
  return;
}

简要介绍我们的要领:

我们验证字符串的开头是否与我们的第一个捕获组匹配,其中包含对常见表情符号字符和范围(来源)的检查:

代码语言:javascript
运行
复制
^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])

我们检查我们的表情符号后面有一个空格和一个单词:

代码语言:javascript
运行
复制
 ([A-Za-z])\w+

编辑:最初在正则表达式的末尾添加了一个.*,现在删除了它,因为它对于当前的目的来说是多余的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66340294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档