Регулярное выражение срабатывающие на первый знак

Пишу в телеграмму бота, как можно заставить игнорировать такие сообщения? «? Менеджер», «? Контракты», «? Уведомления» Которые начинаются с смайлика. Я пытался сделать через регулярное выражение, использую библиотеку node-telegram-bot-api.

bot.onText(/(.+)/, (msg, match) => {
     if ((msg.text).startsWith(/^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000\udfff]|\ud83d[\ud000\udfff]|\ud83e[\ud000-\udfff])/)) {
    return;
  }
)}

Вот пример моего выражения, но оно почему-то не работает


Ответы (1 шт):

Автор решения: vsemozhebuty

startsWith(), к сожалению, не работает с регулярными выражениями, только со строками.

Аналог для вашей регулярки, используя test():

if (/^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000\udfff]|\ud83d[\ud000\udfff]|\ud83e[\ud000-\udfff])/.test(msg.text)) {

См. также универсальный вариант с помощью Unicode property escapes: https://github.com/tc39/proposal-regexp-unicode-property-escapes#matching-emoji

→ Ссылка