/(
(?:[^\w\s]|_)*)p(?1)e(?1)n(?1)i(?1)s(?1)/Si
This part means everything but letters, digits and whitespace.
Here's some other ways to do it :
[^[:alnum:]\s]
[^a-z0-9\s] Notice I didn't include A-Z since the
i modifier is enabled anyways
[^[:alpha:]\d\s]
[^[:alpha:][:digit:][:space:]] Well, [:space:] and \s are not identical, but it's close enough for this

I removed the (?: |_) part, character classes are normally faster than the | or...
For more info about these: search internet for pcre.txt (that's the regex library used in mIRC). It contains a lot of unneeded info, but all the useful stuff is in there too

for the [:blah:] stuff search the file for POSIX CHARECTER CLASSES
PS: starbucks_mafia, allow me to say
yipes@1h15m