ну выражения lookahead и lookbehind верны, если найдена позиция, тогда шаблон совпал и можно делать замену в эту позицию, то есть вставку.
Тут есть другая тонкость.
Первая идея была находить позицию перед цифрой дважды, с помощью двух разных проверок разделённых | , но это вообще не сработало никак. Почему непонятно.