I'm not sure regex is needed here at all:

Code:
alias smellysocks {
  var %i = 1, %words = bad words here, %sock
  while ($sock(srbnc.auth.*,%i)) {
    %sock = $v1
    if ($istok(%words,$gettok(%sock,3,46),32)) { do_stuff_with %sock }
    inc %i
  }
}


Or if you want to match badword "sing" in username "singing" (for example) rather than exact words only, just change $istok to $matchtok