В Java "\b"
- это символ пробела (char 0x08
), который при использовании в регулярном выражении будет соответствовать литералу пробела.
Вы хотите регулярное выражение a\b
, которое в java кодируется путем экранирования обратной косой черты, например:
"a\\b"
Кстати, вы только частично правильно поняли значение регулярного выражения \b
- оно фактически означает «границу слова» (начало или конец слова).