Пользовательские границы слов в регулярном выражении

Я пытаюсь сопоставить слова с помощью регулярного выражения, но, к сожалению, символ границы слова (\ b) не включает достаточно символов на мой вкус, поэтому я хочу добавить больше. (в этом конкретном случае, «+» персонаж)

Вот что я имел обыкновение (это C #, но не очень актуально):

string expression = Regex.Escape(word);
Regex regExp = new Regex(@"\b" + expression + @"\b", RegexOptions.IgnoreCase);

Это конкретное регулярное выражение не соответствуетC ++» и я думал, что это был настоящий облом. Поэтому я попытался использовать символ \ w в классе символов таким образом, наряду с символом +:

string expression = Regex.Escape(word);
Regex regExp = new Regex(@"(?![\w\+])" + expression + @"(?![\w\+])", RegexOptions.IgnoreCase);

Но теперь, ничто не соответствует ... есть что-то, что я пропускаю?

Ответы на вопрос(1)

Ваш ответ на вопрос