我正在给机器人写电报,你怎么能让它忽略这样的消息?🤖经理";;;;首先是某种表情符号,然后是文本。我试着用正则表达式来做我正在使用库node-telegram-bot-api
bot.onText(/(.+)/, (msg, match) => {
if ((/^([/^[😀a-zA-Z🏴]*$/]*)$/.test(msg.text))) {
return;
}
)}
您可以使用以下正则表达式过滤所有(或至少许多)符合给定格式的表情符号和短语:
if( /^(u00a9|u00ae|[u2000-u3300]|ud83c[ud000-udfff]|ud83d[ud000-udfff]|ud83e[ud000-udfff]) ([A-Za-z])w+/.test(msg.text))) {
return;
}
我们的正则表达式的简要概述:
我们验证字符串的开头与我们的第一个捕获组匹配,包含对常见表情符号字符和范围的检查(来源):
^(u00a9|u00ae|[u2000-u3300]|ud83c[ud000-udfff]|ud83d[ud000-udfff]|ud83e[ud000-udfff])
我们检查我们的表情符号后面有一个空格和一个单词:
([A-Za-z])w+
编辑:最初,我在正则表达式的末尾添加了一个.*
,现在删除了它,因为它对当前目的来说是多余的。