Проблема заключается не в плюсе-символе, который вы экранировали правильно, а в последовательности \b
. Он указывает границу слова, которая является точкой между символом слова (буквенно-цифровым) и чем-то другим. Плюс не является символом слова, поэтому для соответствия \b
должен существовать символ слова непосредственно после последнего знака плюса.
\bC\+\+\b
соответствует «Test C ++ Test», но а не «Test C ++ Test», например. Попробуйте что-то вроде \bC\+\+\s
, если вы ожидаете, что после последнего знака плюса появится пробел.