Är det detta du letar efter?
(\b(pre1|pre2)?WORD(suf1|suf2)?\b)
Om du letar efter hela raden som en matchning, försök under regex och hämta if från matchad grupp vid index 1
(.*(\b(pre1|pre2)?WORD(suf1|suf2)?\b).*)
Använd preg_match_all
för att få alla matchade grupper.