Пользовательские границы слов в регулярном выражении
Я пытаюсь сопоставить слова с помощью регулярного выражения, но, к сожалению, символ границы слова (\ 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);
Но теперь, ничто не соответствует ... есть что-то, что я пропускаю?