Почему я не могу использовать акцентированные символы рядом с границей слова?
Я пытаюсь сделать динамическое регулярное выражение, которое соответствует имени человека. Это работает без проблем на большинстве имен, пока я не натолкнулся на ударные символы в конце имени.
Пример: Некоторые Необычные Наме
Регулярное выражение, которое я использовал до сих пор:
/\b(Fancy Namé|Namé)\b/i
Используется так:
"Goal: Some Fancy Namé. Awesome.".replace(/\b(Fancy Namé|Namé)\b/i, '<a href="#">$1</a>');
Это просто не будет соответствовать. Если я заменю é на e, это будет просто замечательно. Если я пытаюсь подобрать название, например «Some Fancy Naméa», оно работает просто отлично. Если я уберу слово «последнее слово», я буду работать нормально.
Почему здесь не работает флаг границы слова? Любые предложения о том, как бы я обойти эту проблему?
Я подумал об использовании чего-то подобного, но я не уверен, каковы будут потери производительности:
"Some fancy namé. Allow me to ellaborate.".replace(/([\s.,!?])(fancy namé|namé)([\s.,!?]|$)/g, '$1<a href="#">$2</a>$3')
Предложения? Идеи?