Prueba esto:
(?: (?:and or|and|a o|company|co|c o|dba|d b a))+(?!\S)/i
Al igual que @mathematical.coffee, comencé por factorizar el espacio inicial y reemplacé el espacio posterior con una anticipación, en este caso, un negativo mirar hacia adelante para un no-espacio en blanco personaje. De esta manera funcionará incluso si el token es el último en la cadena y no va seguido de un espacio. Pero el cambio más importante es reemplazar dos o más coincidencias a la vez siempre que sea posible.