Регулярное выражение, поиск русских слов
Не работает граница \b для Юникода, поэтому пытаюсь найти вхождения русских слов вот так:
/(?:^|[^a-zA-Zа-яА-ЯёЁ])(?:кот|бот)(?![a-zA-Zа-яА-ЯёЁ])/gm
Если искать по исходной строке "!кот?, <кот>, кот, байкот", то регулярное выражение возвращает правильные слова, но ненужными символами в начале: "!кот", "<кот", "кот"
См. демо регулярного выражения
Как правильно сделать?