Регулярное выражение срабатывающие на первый знак
Пишу в телеграмму бота, как можно заставить игнорировать такие сообщения? «? Менеджер», «? Контракты», «? Уведомления» Которые начинаются с смайлика. Я пытался сделать через регулярное выражение, использую библиотеку 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