Je to to, co hledáte?
(\b(pre1|pre2)?WORD(suf1|suf2)?\b)
Pokud hledáte celý řádek jako shodu, zkuste pod regulárním výrazem a získejte if ze shodné skupiny na indexu 1
(.*(\b(pre1|pre2)?WORD(suf1|suf2)?\b).*)
Použijte preg_match_all
získat všechny odpovídající skupiny.