in reply to Exception from a character class
/(?[ \p{Punct} - ['] ])/ [download]
There is also a way to define your own name so you can ue p{PunctButNotApostrophe} but I can't find the link at this time :)