Est-ce ce que vous cherchez ?
(\b(pre1|pre2)?WORD(suf1|suf2)?\b)
Si vous recherchez une ligne entière comme correspondance, essayez ci-dessous regex et obtenez si du groupe correspondant à l'index 1
(.*(\b(pre1|pre2)?WORD(suf1|suf2)?\b).*)
Utilisez preg_match_all
pour obtenir tous les groupes correspondants.