Prova questo:
(?: (?:and or|and|a o|company|co|c o|dba|d b a))+(?!\S)/i
Come @mathematical.coffee, ho iniziato calcolando lo spazio iniziale e sostituendo lo spazio finale con uno sguardo al futuro, in questo caso, un negativo guarda avanti per uno spazio non bianco carattere. In questo modo funzionerà anche se il token è l'ultimo nella stringa e non è seguito da uno spazio. Ma il cambiamento più importante è sostituire due o più partite alla volta, quando possibile.