gooshie, I think I sort of got what Horstl meant by storing the $regex to the hash table and use the R switch to reference to the $regml(1):

Basically add the whole regex string to a hash table:
Code:
/hadd -m pmban pmban /(bitch|bastard|cunt|cock|fuc?k|<censored>|h(0|o)rn(ie|y)|nigger|\btwat\b|whore|penis|shit|\bcibai\b|di ?ck|pussy-?|fak you|fck|slut)/iS
Then use:
Code:
on *:EXIT: {
  hsave pmban pmban.hsh
}
on *:START: {
  if (!$hget(pmban)) hmake pmban 100
  if ($isfile(pmban.hsh)) hload pmban pmban.hsh
}
on @*:TEXT:*:#: {
  if ($hfind(pmban,$1-,0,R).data) {
    ban -ku600 # $nick 2 Ten minute ban for saying the foul language consists of $regml(1)
  }
}
The use of a hash table should be able to store an unlimited amount of regex matches into its data, without the worry of long add of words, compared to that of the script remote.