Опитайте това:
(?: (?:and or|and|a o|company|co|c o|dba|d b a))+(?!\S)/i
Подобно на @mathematical.coffee, започнах с факторизиране на водещото пространство и замяна на завършващото пространство с поглед напред - в този случай, отрицателен поглед напред за без празно пространство характер. По този начин ще работи дори ако токенът е последният в низа и не е последван от интервал. Но най-важната промяна е замяната на две или повече съвпадения наведнъж, когато е възможно.