Помогите пожалуйста с регуляркой

Jigan2

Новичок
Могут быть строки вида
3 д панель
панель 3 д
панель 3 Д
плитка 3 д. (может быть любой знак препинания)
ул. Степана Разина 23 д 3 кв 3 (23 д Не должно замениться)
Если будет 223 д или 223 дом не должно заменяться.

Нужно что бы в строке "3 д" заменилось на "3д" ли "3д."
может быть любой знак препинания после "д".
Так же может быть большая "Д"

Помогите пожалуйста в регулярках не силен.
 

Фанат

oncle terrible
Команда форума
то есть ул. Степана Разина 3 д 32 кв 2 должно замениться?
 

Фанат

oncle terrible
Команда форума
Например так
Код:
preg_replace('!(\b3) ([дД]\b)!u', '$1$2', $string);
 
Сверху