Автоматическое добавление пробелов после периодов и запятых, избегая номеров

Это текущее регулярное выражение, которое я использую для дезинфекции предложений, когда люди пишут что-то вроде:

Привет. Я Андрес, не так ли?

Он будет автоматически преобразован в:

Здравствуйте. Я Андрес, не так ли?

Проблема возникает, когда в строке есть числа. Пример:

У меня 40.381,32 доллара.

… будет преобразован в:

У меня 40. 381, 32 доллара.

Мой текущий код:

echo preg_replace( '/[!?,.](?![!?,.\s])/', '$0 ', 'Hello my friend.There should be a space after sentence periods and commas, but that should not apply to 40.381,32 numbers.'); 

Вопрос: как я могу избежать применения этих правил, когда . символы находятся между цифрами? Благодаря!