Това ли търсите?
(\b(pre1|pre2)?WORD(suf1|suf2)?\b)
Ако търсите цял ред като съвпадение, опитайте под регулярен израз и вземете if от съвпадаща група в индекс 1
(.*(\b(pre1|pre2)?WORD(suf1|suf2)?\b).*)
Използвайте preg_match_all
за да получите всички съвпадащи групи.