In case you don't want to deal with regular expressions, but want to manage a variable list - allowing for a mix of both badWORDS (like pussy in your example) and badSTRINGS (like *slut* in your example), you could alternatively use $wildtok. It's not as fast as single-lined regular expression, but a flawed regex may be worse... laugh

Example:
Code:
; your list of badwords and badstrings
var %bad = badword1 *badstring* anotherbadword anotherb*string

var %n = 1
; loop the badwords and -strings
while ($gettok(%bad,%n,32)) {
  ; check for occurences of this badword/-string in <TEXT>
  if ($wildtok(<TEXT>,$v1,1,32)) {
    ; your action here
    echo -ag word $v1 in <TEXT> matches badword definition: $gettok(%bad,%n,32)
    break
  }
  inc %n
}

To combine the variability/legibility of a list and the speed/flexibility of regular expressions, a hash table in combination with $hfind(,R) could be of use (with no need for a while-loop).