Encapsulate the words with the \b, meaning word boundary. It will only trigger then if it is surrounded by a non-word character, like punctuation or a space etc.

alias swear return $regex($1-,/\b(?:dick|penis)\b/Sig)

EDIT: Check out this regex tutorial.