See http://www.regular-expressions.info/ for general info, but as an example:
\b(fag)(\b(s)\b(got)\b(gots)\b(ot)\b(ots)\b)will return any word starting fag and ending with nothing or s or got or gots or ot or ots. You join the dots. Don't assume that people typing through gritted teeth will necessarily spell their rants correctly.
I have also discovered that it is impossible to keep a straight face during any conversation about filtering profanity.
Life on internet time: Monday seems a long time ago.