Apparently `[[:punct:]]` also works for punctuation, but doesn't cover non-punctuation characters like `$` or `~` so this looks good.