Zkuste toto:
(?: (?:and or|and|a o|company|co|c o|dba|d b a))+(?!\S)/i
Stejně jako @mathematical.coffee jsem začal tím, že jsem vyloučil úvodní mezeru a nahradil zadní mezeru dopřednou mezerou – v tomto případě záporem výhled pro bez mezer charakter. Tímto způsobem to bude fungovat, i když je token poslední v řetězci a nenásleduje mezera. Ale nejdůležitější změnou je nahrazení dvou nebo více zápasů najednou, kdykoli je to možné.